time模块

本文详细介绍了Python中time模块的功能,包括时间戳的获取、结构化时间的理解与转换、时间格式化字符串的使用,以及时间戳与结构化时间之间的相互转换方法。

time模块

时间戳:

  • time.time():返回的是float类型,从1970年1月1日00:00:00开始到当前时间按秒计算的偏移量
import time
print(time.time())  # 输出1582109355.394148

结构化时间:struct_time(tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)

  • tm_year:年
  • tm_mon:月
  • tm_mday:日
  • tm_hour:时
  • tm_min:分
  • tm_sec:秒
  • tm_wday:表示周几,值为0-6,0表示周一
  • tm_yday:表示是一年中的第几天,1-366
  • tm_isdst:是否是夏令时,默认为0
    • 时间是正常时区的时候取0
    • 时间是在夏令时时区取1
    • 不清楚的时候取-1

时间戳和结构化时间转换

时间戳–>结构化:localtime()/gmtime()
  • localtime():转换成当地时间,北京时间比UTC快8个小时
  • gmtime():转换成英国伦敦UTC时间
t = time.time()
struc_time = time.localtime(t)
print(struc_time)
print(struc_time.tm_year, struc_time.tm_mon)
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=19, tm_hour=20, tm_min=25, tm_sec=41, tm_wday=2, tm_yday=50, tm_isdst=0)
2020 2
结构化–>时间戳:mktime()
struc_time = time.localtime(1600000000)
print(time.mktime(struc_time))  # 1600000000.0

格式化的时间字符串

常见的格式化:

符号说明
%y两位数的年份表示(00 - 99)
%Y四位数的年份表示(000 - 9999)
%m月份(01 - 12)
%d月内中的一天(0 - 31)
%H24小时制小时数(0 - 23)
%I12小时制小时数(01 - 12)
%M分钟(00 - 59)
%S秒(00-59)
print(time.strftime("%Y-%m-%d %H:%M:%S"))  # 输出2020-02-19 19:39:05
print(time.strftime("%y/%m/%d %H:%M:%S"))  # 输出20/02/19 19:39:05
print(time.strftime("%m-%d %H:%M:%S"))  #输出02-19 19:39:05
print(time.strftime("%I:%M:%S"))  # 输出07:39:05

其他的格式符

符号说明
%a简化的星期名称
%A完整的星期名称
%b简化的月份名称
%B完整的月份名称
print(time.strftime("%a %H:%M:%S"))  # Wed 19:51:57
print(time.strftime("%A %I:%M:%S"))  # Wednesday 07:51:57
print(time.strftime("%b"))  # Feb
print(time.strftime("%B"))  # February
符号说明
%j一年内的第几天(001-366)
%w星期(0-6),星期天为0
%pAM或PM的等价符
%c日期和时间的表示,格式是%a %b %d %H:%M:%S %Y
%x相应的日期表示,格式是%m/%d/%y
%X相应的时间表示,格式是%H:%M:%S
print(time.strftime("%x"))  # 02/19/20
print(time.strftime("%X"))  # 20:07:24
print(time.strftime("%c"))  # Wed Feb 19 20:07:24 2020

格式化时间和结构化时间的转换

格式化–>结构化:strptime(string, format)
print(time.strptime("2020-02-19", "%Y-%m-%d"))
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=19, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=50, tm_isdst=-1)
结构化–>格式化:strftime(format, tuple)
print(time.strftime('%Y-%m-%d',time.localtime(1600000000)))  # 输出2020-09-13

时间戳——>%c形式的时间:ctime(string)

print(time.ctime())  # Wed Feb 19 20:47:29 2020

结构化时间——>%c形式的时间:asctime(tuple)

print(time.asctime(time.localtime(1600000000)))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值