一、时间戳
时间戳是一个在各个编程语言中都经常用到的数字,它表示距离1970年1月1日0点的秒数。
二、常用函数
1. time.time()
作用:获取当前时刻的时间戳
import time print(time.time())# out
1708163351.0181284
2. time.ctime()
作用:获取当前时刻并以易读的字符串形式展示
import time print(time.ctime())# out
Sat Feb 17 17:50:47 2024
3. time.gmtime()
作用:返回当前的 UTC 时间,也就是协调世界时
返回:返回一个类对象,包含9种属性,分别为年、月、日、时、分、秒、一周中的第几天(从0开始,0为周一)、一年中的第几天(从1开始)、是否处在夏令时。
import time print(time.gmtime())# out
time.struct_time(tm_year=2024, tm_mon=2, tm_mday=17, tm_hour=9, tm_min=54, tm_sec=51, tm_wday=5, tm_yday=48, tm_isdst=0)
4. time.localtime()
作用:返回当前本地时间,即基于系统时区的时间
返回:返回一个类对象,包含9种属性,分别为年、月、日、时、分、秒、一周中的第几天(从0开始,0为周一)、一年中的第几天(从1开始)、是否处在夏令时。
import time print(time.localtime()) print(time.localtime().tm_year)# out
time.struct_time(tm_year=2024, tm_mon=2, tm_mday=17, tm_hour=17, tm_min=54, tm_sec=51, tm_wday=5, tm_yday=48, tm_isdst=0)
2024
5. time.strftime()
作用:将时间格式化为自己想要的形式,常用指令为%Y-%m-%d %H:%M:%S
说明:
- %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 当前时区的名称
- %% %号本身
返回:字符串
import time print(time.strftime('%Y-%m-%d %H:%M:%S'))# out
2024-02-17 18:15:13
6. time.sleep()
作用:程序休眠指定时间,单位为秒
import time
time.sleep(3)
三、时间戳、结构化对象、格式化时间字符串之间的转换
1. 时间戳转结构化对象
说明:默认参数为时间戳,可更改为指定时间戳
print(time.localtime(time.time()))print(time.localtime(time.time(10355645)))
2. 结构化对象转时间戳
说明:time.mktime可将结构化对象转为时间戳,但是转换得到的时间戳没有小数位
print(time.mktime(time.localtime()))
3. 结构化对象转格式化时间字符串
说明:strftime的默认事件戳为当前时间,也可以利用结构化对象指定时间戳
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1708181465)))
4. 格式化时间字符串转结构化对象
说明:strptime可以将时间字符串转为结构化对象
print(time.strptime('2024-01-01 12:00:00', '%Y-%m-%d %H:%M:%S', ))