Python 时间模块常见用法汇总 datetime、time、timedelta
程序员文章站
2022-06-07 19:44:05
...
datetime模块包含 datetime:处理日期和时间同时出现的情况。timedelta:处理日期和/或时间间隔
此外还有 time模块
获取当前日期与时间
datetime
>>> from datetime import datetime
>>> from datetime import timedelta
>>> now = datetime.now() # 返回现在时间
>>> now
datetime.datetime(2020, 3, 4, 10, 53, 44, 557356)
>>> now.day # 返回天
4
>>> now.weekday() # 返回星期几
2
>>> now.hour # 返回小时
time
>>> nowt = time.time() # 为到目前为止,从1970经过的秒数
>>> nowt
1583290705.6419282
>>> localtime = time.localtime(nowt) # 浮点数转化为元组
>>> localtime
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=4, tm_hour=10, tm_min=58, tm_sec=25, tm_wday=2, tm_yday=64, tm_isdst=0)
>>> localtime.tm_mday
4
格式化日期与时间
datetime
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 3, 4, 11, 2, 56, 15487)
>>> now.strftime('%Yyear %mmonth %dday %H:%M:%S')
'2020year 03month 04day 11:02:56'
time
>>> nowt
1583290705.6419282
>>> localtime
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=4, tm_hour=10, tm_min=58, tm_sec=25, tm_wday=2, tm_yday=64, tm_isdst=0)
>>> time.asctime(localtime)
'Wed Mar 4 10:58:25 2020'
>>> time.strftime("%Y, %m, %d", localtime)
'2020, 03, 04'
格式化字符串转化成时间戳
time
>>> t = "20:25:30 2016"
>>> time.mktime(time.strptime(t, "%H:%M:%S %Y"))
1451651130.0
获取指定日期,并加减
datetime
>>> that = datetime(2020, 5, 20, 5, 21)
>>> that
datetime.datetime(2020, 5, 20, 5, 21)
>>> now
datetime.datetime(2020, 3, 4, 11, 2, 56, 15487)
>>> that - now
datetime.timedelta(days=76, seconds=65883, microseconds=984513)
>>> (that - now).days
76
>>> now + timedelta(days=10)
datetime.datetime(2020, 3, 14, 11, 2, 56, 15487)
>>> now + timedelta(weeks=1)
datetime.datetime(2020, 3, 11, 11, 2, 56, 15487)
>>> now + timedelta(weeks=1, days=10)
datetime.datetime(2020, 3, 21, 11, 2, 56, 15487)
附:python中时间日期格式化符号
- %y 两位数的年份表示(00-99)
- %Y 四位数的年份表示(000-9999)
- %m 月份(01-12)
- %d 月内中的一天(0-31)
- %H 24小时制小时数(0-23)
- %I 12小时制小时数(01-12)
- %M 分钟数(00=59)
- %S 秒(00-59)
- %a 本地简化星期名称
- %A 本地完整星期名称
- %b 本地简化的月份名称
- %B 本地完整的月份名称
- %c 本地相应的日期表示和时间表示
- %j 年内的一天(001-366)
- %p 本地A.M.或P.M.的等价符
- %U 一年中的星期数(00-53)星期天为星期的开始
- %w 星期(0-6),星期天为星期的开始
- %W 一年中的星期数(00-53)星期一为星期的开始
- %x 本地相应的日期表示
- %X 本地相应的时间表示
- %Z 当前时区的名称
- %% %号本身
推荐阅读
-
Python中的time模块与datetime模块用法总结
-
Python中的time模块与datetime模块用法总结
-
Python3.5内置模块之time与datetime模块用法实例分析
-
Python时间模块datetime、time、calendar的使用方法
-
Python3.5内置模块之time与datetime模块用法实例分析
-
Python时间模块datetime、time、calendar的使用方法
-
Python中的time、datetime、calendar模块(时间模块)
-
python 时间模块 time datetime calendar
-
python-时间模块(time、datetime、calendar)
-
Python基于datetime或time模块分别获取当前时间戳的方法实例