📅  最后修改于: 2023-12-03 14:46:45.061000             🧑  作者: Mango
在Python中,时间码通常表示为秒数,即从1970年1月1日0点开始的秒数。Python内置了一个time模块,可以方便地处理时间码。
要获取当前时间码,可以使用time模块的time函数,它返回当前时间的时间码。
import time
current_time = time.time()
print(current_time)
输出:
1608288012.5391762
时间戳和时间元组是两种表示时间的方式。时间戳是一个浮点数,表示自1970年1月1日0点以来的秒数。时间元组是一个包含9个整数的元组,表示年、月、日、时、分、秒、一周中的第几天、一年中的第几天和夏令时标志(0表示不是夏令时,1表示是夏令时)。
要将时间码转换为时间戳,可以使用time模块的gmtime或localtime函数。
import time
current_time = time.time()
time_tuple = time.gmtime(current_time)
print(current_time)
print(time_tuple)
输出:
1608288012.5391762
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=18, tm_hour=6, tm_min=13, tm_sec=32, tm_wday=4, tm_yday=353, tm_isdst=0)
要将时间戳转换为时间元组,可以使用time模块的gmtime或localtime函数。
import time
current_time = time.time()
time_tuple = time.gmtime(current_time)
timestamp = time.mktime(time_tuple)
print(current_time)
print(time_tuple)
print(timestamp)
输出:
1608288012.5391762
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=18, tm_hour=6, tm_min=13, tm_sec=32, tm_wday=4, tm_yday=353, tm_isdst=0)
1608288012.0
时间字符串可以通过strftime函数将时间元组转换为字符串。strftime函数的第一个参数是格式化字符串,可以使用不同的占位符表示不同的时间元素。常见的占位符如下:
| 占位符 | 含义 | |--------|------| | %Y | 年 | | %m | 月 | | %d | 日 | | %H | 时 | | %M | 分 | | %S | 秒 |
import time
current_time = time.time()
time_tuple = time.gmtime(current_time)
time_str = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
print(current_time)
print(time_tuple)
print(time_str)
输出:
1608288012.5391762
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=18, tm_hour=6, tm_min=13, tm_sec=32, tm_wday=4, tm_yday=353, tm_isdst=0)
2020-12-18 06:13:32
要将时间字符串转换为时间元组,可以使用strptime函数。
import time
time_str = "2020-12-18 06:13:32"
time_tuple = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
timestamp = time.mktime(time_tuple)
print(time_str)
print(time_tuple)
print(timestamp)
输出:
2020-12-18 06:13:32
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=18, tm_hour=6, tm_min=13, tm_sec=32, tm_wday=4, tm_yday=353, tm_isdst=-1)
1608287612.0
下面是一个完整的示例代码,演示了如何将当前时间表示为时间戳、时间元组和时间字符串。
import time
# 获取当前时间戳
current_time = time.time()
print("当前时间戳:", current_time)
# 将时间戳转换为时间元组
time_tuple = time.gmtime(current_time)
print("时间元组:", time_tuple)
# 将时间元组转换为时间字符串
time_str = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
print("时间字符串:", time_str)
# 将时间字符串转换为时间元组
time_tuple = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
print("时间元组:", time_tuple)
# 将时间元组转换为时间戳
timestamp = time.mktime(time_tuple)
print("时间戳:", timestamp)
输出:
当前时间戳: 1608288012.5391762
时间元组: time.struct_time(tm_year=2020, tm_mon=12, tm_mday=18, tm_hour=6, tm_min=13, tm_sec=32, tm_wday=4, tm_yday=353, tm_isdst=0)
时间字符串: 2020-12-18 06:13:32
时间元组: time.struct_time(tm_year=2020, tm_mon=12, tm_mday=18, tm_hour=6, tm_min=13, tm_sec=32, tm_wday=4, tm_yday=353, tm_isdst=-1)
时间戳: 1608287612.0