Python中datetime模块提供强大易用的日期处理功能,用于记录程序操作或修改时间、时间计算、日志时间显示等功能。datatime模块重新封装了time模块,提供的类包括date、time、datetime、timedelta、tzinfo。本文提供datetime模块最常用的使用实例,解决编码中使用datetime模块的大部分需求。datetime模块更详尽用法可以查看帮助手册。
datetime模块使用实例
1、获取当前系统时间
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2020, 2, 1, 10, 35, 36, 57427)
>>> print(datetime.datetime.now())
2020-02-01 10:35:49.044320
2、获取当前日期、当前年份、当前月份、当天
>>> datetime.date.today()
datetime.date(2020, 2, 1)
>>> print(datetime.date.today())
2020-02-01
>>> str(datetime.date.today())[0:4]
''
>>> str(datetime.date.today())[5:7]
''
>>> str(datetime.date.today())[8:10]
''
4、计算距离当前10天前、10天后的日期
# 计算10天后的日期
>>> compute_day = datetime.date.today() + datetime.timedelta(days=10)
>>> print(compute_day)
2020-02-11 # 计算10天前的日期
>>> compute_day = datetime.date.today() - datetime.timedelta(days=10)
>>> print(compute_day)
2020-01-22
5、计算距离当前时间10小时后、10小时前的时间
>>> cur_time = datetime.datetime.now()
# 当前时间
>>> print(cur_time)
2020-02-01 11:04:23.632746 # 计算10小时后的时间
>>> compute_time = cur_time + datetime.timedelta(hours=10)
>>> print(compute_time)
2020-02-01 21:04:23.632746 # 计算10小时前的时间
>>> compute_time = cur_time - datetime.timedelta(hours=10)
>>> print(compute_time)
2020-02-01 01:04:23.632746
6、计算两个日期间隔多少天
>>> day1 = datetime.datetime(2020,2,1)
>>> day2 = datetime.datetime(2020,1,5)
>>> interval_day = (day1 - day2).days
>>> print(interval_day)
27
7、计算程序运行时间间隔
>>> start_time = datetime.datetime.now()
#过几秒执行如下语句
>>> end_time = datetime.datetime.now()
>>> seconds = end_time - start_time
>>> seconds = (end_time - start_time).seconds
>>> print(seconds)
22
8、根据给定的时间戮,返回一个date对象。
>>> datetime.date.fromtimestamp(1111111111)
datetime.date(2005, 3, 18)
9、datetime转换为str。如果要将datetime对象格式化为字符串显示给用户,就需要通过strftime()转换。
>>> cur_time = datetime.datetime.now()
>>> cur_time.strftime('%Y-%m-%d %H:%M:%S')
'2020-02-01 11:50:24'
10、str转换为datetime。将用户输入的字符串格式的日期和时间通过datetime.strptime()转换为datetime。
>>> day = datetime.datetime.strptime('2020-01-31 18:18:18','%Y-%m-%d %H:%M:%S')
>>> print(day)
2020-01-31 18:18:18
>>> type(day)
<class 'datetime.datetime'>
小结
本文包含了编码过程中datetime模块使用到的简单实例。datetime模块更多使用方法参考:https://docs.python.org/3/library/datetime.html