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'>