Python 时间模块常见用法汇总 datetime、time、timedelta

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 当前时区的名称
  • %% %号本身
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值