📜  python时间码 - Python(1)

📅  最后修改于: 2023-12-03 14:46:45.061000             🧑  作者: Mango

Python时间码

在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