python time 和 datetime模块

时间:2022-03-04 08:38:22

time模块

时间相关的操作,时间有三种表示方式:

时间戳               1970年1月1日之后的秒,即:time.time()

格式化的字符串    2014-11-11 11:11,    即:time.strftime('%Y-%m-%d')

结构化时间          元组包含了:年、日、星期等... time.struct_time    即:time.localtime()

python time 和 datetime模块

# 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")))

python time 和 datetime模块

 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)