Python中时间有多种表示方式,其中一个重要的表示方式就是Unix时间戳(以秒为单位的时间)。在使用Python处理时间时,有时需要将时间转换成Unix时间戳,或者将Unix时间戳转换成Python中的时间表示,本文将详细讲解Python时间与Unix时间戳相互转换的方法。
将Python时间转换成Unix时间戳
Python中可以使用time
模块的time()
函数将当前时间转换成Unix时间戳。time()
函数返回的是当前时间的Unix时间戳,例如:
import time
timestamp = int(time.time())
print(timestamp)
输出:
1629631070
在上述代码中,time()
函数返回当前时间的Unix时间戳,然后使用int()
函数将其转换为整型。最后打印输出的即为当前时间的Unix时间戳。
如果要将一个具体的时间转换成Unix时间戳,需要将这个时间转换成时间元组,然后再使用time.mktime()
函数将其转换成Unix时间戳。例如:
import time
# 将2021年8月22日10点35分23秒转换成Unix时间戳
time_tuple = (2021, 8, 22, 10, 35, 23, 0, 0, -1)
timestamp = int(time.mktime(time_tuple))
print(timestamp)
输出:
1629623723
在上述代码中,首先将需要转换的时间(2021年8月22日10点35分23秒)转换成时间元组,然后使用time.mktime()
函数将其转换成Unix时间戳,最后使用int()
函数将其转换为整型。
将Unix时间戳转换成Python时间
Python中可以使用time
模块的gmtime()
或localtime()
函数将Unix时间戳转换成时间元组。其中,gmtime()
函数将Unix时间戳转换成UTC时区的时间元组,localtime()
函数将Unix时间戳转换成本地时区的时间元组。例如:
import time
# 将Unix时间戳1629623723转换成本地时区的时间
time_tuple = time.localtime(1629623723)
print(time_tuple)
输出:
time.struct_time(tm_year=2021, tm_mon=8, tm_mday=22, tm_hour=10, tm_min=35, tm_sec=23, tm_wday=6, tm_yday=234, tm_isdst=0)
在上述代码中,localtime()
函数将Unix时间戳1629623723转换成本地时区的时间元组。时间元组的每个元素分别表示年、月、日、时、分、秒、周几、一年中的第几天、是否为夏令时等信息。
如果要将时间元组转换成特定格式的字符串表示,可以使用time.strftime()
函数。例如:
import time
# 将时间元组转换成指定格式(2021-08-22 10:35:23)的字符串
time_tuple = time.localtime(1629623723)
date_str = time.strftime('%Y-%m-%d %H:%M:%S', time_tuple)
print(date_str)
输出:
2021-08-22 10:35:23
在上述代码中,strftime()
函数将时间元组转换成指定格式的字符串表示。其中,%Y
表示年份,%m
表示月份,%d
表示日期,%H
表示小时,%M
表示分钟,%S
表示秒数。
以上就是将Python时间与Unix时间戳相互转换的方法,希望可以帮助大家更好地使用Python处理时间。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python时间与Unix时间戳相互转换方法详解 - Python技术站