Python中date、datetime、timedelta 讲解

Python时间相关的操作使用 datetime 模块

导入模块:

import datetime

1. 打印时间

1. 打印当前时间
import datetime

# 打印当前时间 now 和 today 都可以
now_time = datetime.datetime.now()
print(now_time, type(now_time))
# 2021-02-23 10:06:03.145792 <class 'datetime.datetime'>

today = datetime.datetime.today()
print(today, type(today))
# 2021-02-23 10:06:03.145792 <class 'datetime.datetime'>
2. 打印当前时间,按 年-月-日 时:分:秒 的格式
import datetime
now_datetime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(now_datetime, type(now_datetime))
# 2021-02-23 10:06:03 <class 'str'>

2. 打印当前日期

import datetime
now_date = datetime.date.today()
print(now_date, type(now_date))
# 2021-02-23 <class 'datetime.date'>

3. 打印当前日期的小时

import datetime
print(now_time.hour, type(now_time.hour))  # 其他单位也可以
# 10 <class 'int'>

4. 时间转成字符串 datetime → str: strftime()

import datetime
now_time_str = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(now_time_str, type(now_time_str))
# 2021-02-23 10:06:03 <class 'str'>

now_time_str2 = datetime.datetime.now().strftime('%F %T')
print(now_time_str2, type(now_time_str2))
# 2021-02-23 10:06:03 <class 'str'>

5. 字符串转成时间 str → datetime: strptime()

import datetime
now_time_datetime = datetime.datetime.strptime('2021-02-23 01:02:03', '%Y-%m-%d %H:%M:%S')
print(now_time_datetime, type(now_time_datetime))  # 2021-02-23 01:02:03 <class 'datetime.datetime'>

6. 比较两个时间

import datetime
time1 = datetime.datetime.now()
time2 = datetime.datetime.strptime('2021-02-23 10:15:00', '%Y-%m-%d %H:%M:%S')
timedelta = time1 - time2
print(timedelta, type(timedelta))
# 2:12:22.091281 <class 'datetime.timedelta'>

# 时间差转换成秒
timedelta_seconds = (time1 - time2).seconds
print('timedelta_seconds:', timedelta_seconds, type(timedelta_seconds))
# timedelta_seconds: 1513 <class 'int'>

# 时间差转换成日
timedelta_minutes = (time1 - time2).days
print(timedelta_minutes, type(timedelta_minutes))
# 0 <class 'int'>

7. 已知一个时间,推算一段时间前的时间或一段时间后的时间

import datetime
middle_time = datetime.datetime.now()  # 定义需要计算的时间
delta = datetime.timedelta(seconds=600)  # 计算出时间差(600秒,也可以指定别的时间单位)

before_time = middle_time - delta  # 计算出10分钟之前的时间
print(before_time, type(before_time))
# 2021-02-23 10:30:13.788736 <class 'datetime.datetime'>

after_time = middle_time + delta  # 计算出10分钟之后的时间
print(after_time, type(after_time))
# 2021-02-23 10:50:13.788736 <class 'datetime.datetime'>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员老五

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值