Python time模块时间戳与结构化时间详解
什么是时间戳?
Unix时间戳指的是从1970年1月1日 00:00:00 UTC起至现在的总秒数。它也被称作POSIX时间戳。在Python中,时间戳可以通过调用time
模块下的函数来获取。示例代码如下:
import time
# 获取当前时间的时间戳
now_timestamp = int(time.time())
print(now_timestamp)
输出结果:
1617595246
什么是结构化时间?
结构化时间也被称为通过元组(tuple)表示的时间信息,包括年、月、日、时、分、秒、星期几、一年中的第几天、是否为夏令时等。在Python中,可以使用time
模块下的gmtime()
、localtime()
、strptime()
等函数来将时间戳转换为结构化时间。示例代码如下:
import time
# 将当前时间戳转换为结构化时间
now_struct_time = time.gmtime(time.time())
print(now_struct_time)
# 将当前时间戳转换为本地时间对应的结构化时间
now_local_struct_time = time.localtime(time.time())
print(now_local_struct_time)
# 将字符串类型的时间转换为结构化时间
date_str = '2021-04-05 12:00:00'
new_struct_time = time.strptime(date_str, '%Y-%m-%d %H:%M:%S')
print(new_struct_time)
其中gmtime()
函数将时间戳转换为UTC标准时间对应的结构化时间,localtime()
则将时间戳转换为本地时间对应的结构化时间。strptime()
函数可以将字符串类型的时间转换成结构化时间。在使用时,需要传入时间字符串和时间格式化字符串,格式化字符串中的各个占位符可以对应不同的时间元素。
输出结果:
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=5, tm_hour=10, tm_min=14, tm_sec=48, tm_wday=6, tm_yday=95, tm_isdst=0)
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=5, tm_hour=18, tm_min=14, tm_sec=48, tm_wday=6, tm_yday=95, tm_isdst=0)
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=5, tm_hour=12, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=95, tm_isdst=-1)
示例说明
示例1:时间戳转换成日期时间字符串
import time
# 获取当前时间的时间戳
now_timestamp = int(time.time())
# 将时间戳转换成日期时间字符串
time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(now_timestamp))
print(now_timestamp)
print(time_str)
输出结果:
1617595246
2021-04-05 18:40:46
示例2:日期时间字符串转换成时间戳
import time
# 将日期时间字符串转换成时间戳
date_str = '2021-04-05 12:00:00'
timestamp = int(time.mktime(time.strptime(date_str, '%Y-%m-%d %H:%M:%S')))
print(date_str)
print(timestamp)
输出结果:
2021-04-05 12:00:00
1617566400
通过这两个示例,我们可以看到通过时间戳和结构化时间的相互转换,可以方便地进行各种时间相关的操作,例如日期时间字符串的格式化、比较、计算等。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python time模块时间戳 与 结构化时间详解 - Python技术站