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] '2020' >>> str(datetime.date.today())[5:7] '02' >>> str(datetime.date.today())[8:10] '01'
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