欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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杂七杂八