欢迎访问宙启技术站
智能推送

如何使用Python的time函数来处理时间戳?

发布时间:2023-06-15 11:33:13

Python中的time模块提供了与时间相关的函数和数据类型,包括时间转换、时钟读取和睡眠等。其中,处理时间戳也是time模块中的一项基本功能。

时间戳通常是从某个特定的时间点开始计算的秒数或微秒数。在Python中,使用time函数来处理时间戳。

获取当前时间戳

要获取当前时间戳,可以使用time函数中的time方法。time方法的返回值是自1970年1月1日以来经过的秒数。

import time
    
# 获取当前时间戳
timestamp = time.time()

print("当前时间戳为:", timestamp)

输出结果如下:

当前时间戳为:1628183362.8145828

将时间戳转换为日期时间

可以使用time模块中的gmtime和localtime方法将时间戳转换为本地时间或格林威治标准时间(GMT)。GMT是全球公认的时间标准,其时间基准点是英国伦敦市郊的格林威治区皇家格林威治天文台。

- localtime方法将时间戳转换为本地时间:

import time

# 获取当前时间戳
timestamp = time.time()

# 将时间戳转换为本地时间
local_time = time.localtime(timestamp)

print("本地时间为:", local_time)
print("年份:", local_time.tm_year)
print("月份:", local_time.tm_mon)
print("日期:", local_time.tm_mday)
print("小时:", local_time.tm_hour)
print("分钟:", local_time.tm_min)
print("秒数:", local_time.tm_sec)

输出结果如下:

本地时间为: time.struct_time(tm_year=2021, tm_mon=8, tm_mday=5, tm_hour=14, tm_min=16, tm_sec=48, tm_wday=3, tm_yday=217, tm_isdst=0)
年份: 2021
月份: 8
日期: 5
小时: 14
分钟: 16
秒数: 48

- gmtime方法将时间戳转换为GMT时间:

import time

# 获取当前时间戳
timestamp = time.time()

# 将时间戳转换为GMT时间
gmt_time = time.gmtime(timestamp)

print("GMT时间为:", gmt_time)

输出结果如下:

GMT时间为: time.struct_time(tm_year=2021, tm_mon=8, tm_mday=5, tm_hour=6, tm_min=22, tm_sec=2, tm_wday=3, tm_yday=217, tm_isdst=0)

将日期时间转换为时间戳

可以使用mktime方法将本地时间或GMT时间转换为时间戳。

import time
    
# 本地时间
local_time = (2021, 8, 5, 14, 16, 48, 3, 217, 0)
    
# 将本地时间转换为时间戳
local_timestamp = time.mktime(local_time)
    
print("本地时间戳为:", local_timestamp)
    
# GMT时间
gmt_time = (2021, 8, 5, 6, 22, 2, 3, 217, 0)
    
# 将GMT时间转换为时间戳
gmt_timestamp = time.mktime(gmt_time)
    
print("GMT时间戳为:", gmt_timestamp)

输出结果如下:

本地时间戳为: 1628187368.0
GMT时间戳为: 1628154122.0

格式化日期时间

使用strftime方法将日期时间转换为指定的格式。

import time
    
# 获取当前时间
t = time.localtime()

# 格式化输出时间
print("当前时间为:", time.strftime("%Y-%m-%d %H:%M:%S", t))

输出结果如下:

当前时间为: 2021-08-05 14:26:54

在strftime中,各个字符代表的含义如下:

| 字符 | 含义 |

|------|-----------------------------|

| %Y | 四位数年份,例如:2021 |

| %m | 月份,从01到12 |

| %d | 日,从01到31 |

| %H | 小时,从00到23 |

| %M | 分钟,从00到59 |

| %S | 秒,从00到59 |

| %a | 简写的星期几名称,例如:Sun |

| %A | 完整的星期几名称,例如:Sunday |

| %b | 简写的月份名称,例如:Jan|

| %B | 完整的月份名称,例如:January |

综上所述,Python的time模块提供了灵活而强大的函数来处理时间戳。在不同的应用场景中,我们可以选择适合自己的方法来处理时间戳,并将其转换为更加可读性高的日期时间格式。