time模块
时间相关的操作,时间有三种表示方式:
时间戳 1970年1月1日之后的秒,即:time.time()
格式化的字符串 2014-11-11 11:11, 即:time.strftime('%Y-%m-%d')
结构化时间 元组包含了:年、日、星期等... time.struct_time 即:time.localtime()
# 1.时间戳 print(time.time()) # 显示当前时间的时间戳 print(time.mktime(time.localtime())) # 将一个表示时间的元组(struct_time)转换成时间戳 # 2.struct_time # (tm_year=2019, tm_mon=3, tm_mday=28, tm_hour=14, tm_min=40, tm_sec=54, tm_wday=3, tm_yday=87, tm_isdst=0)” print(time.localtime()) # 将一个时间戳转换成当前时区的struct_time,secs参数未提供默认以当前时间为准. print(time.gmtime()) # 将一个时间戳转换成UTC-0时区的struct_time. print(time.strptime("2018 09 03","%Y %m %d")) # 将一个格式化的时间字符串转换成struct_time. # 3.格式化显示时间 print(time.strftime("%Y %m %d %H:%M:%S")) # 把一个struct_time转换成格式化的时间字符串,if t未指定默认传入time.localtime() print(time.asctime()) # 把一个struct_time转换成 Thu Mar 28 22:40:54 2019 这种形式,默认当前时 print(time.ctime()) # 把一个时间戳转换成 Thu Mar 28 22:40:54 2019 这种形式,默认当前时间
time的其他用法:
time.sleep() # 指定延迟程序运行的时间,时间为秒
时间的经典转换:
# 时间戳-----------格式化时间字符串 s = 6473774883 print(time.gmtime(s)) print(time.strftime("%Y %m %d %H:%M:%S", time.gmtime(s))) # 格式化的时间字符串转换成时间戳 t = time.strftime("%Y %m %d %H:%M:%S", time.gmtime(s)) print(time.strptime(t, "%Y %m %d %H:%M:%S")) print(time.mktime(time.strptime(t, "%Y %m %d %H:%M:%S")))
datetime模块
import datetime d = datetime.datetime.now() # 返回当前datetime的日期类型 # 可以调用d.timestamp() 返回当前时间的时间戳 # d.year 只返回年 # d.timetuple() 返回当前时间的strue_time的形式 datetime.date.fromtimestamp(55151545) # 将一个时间戳转换成日期类型 datetime.timedelta() # 表示时间间隔,即两个时间点之间的长度,参数默认是天,可指定如(hours = 5),用于时间的运算 # 时间的运算 datetime.datetime.now() - datetime.timedelta(3) # 当前日期减3天 datetime.datetime.now() + datetime.timedelta(hours=5) # 当前日期加五个小时 # 日期替换 datetime.datetime.now().replace(year=2020,hour=5) # 将当前时间年替换为2020年,小时替换成5时 print(d)