📜  python 2.7 日期时间到时间戳 - Python (1)

📅  最后修改于: 2023-12-03 15:04:03.810000             🧑  作者: Mango

Python 2.7 日期时间到时间戳

在编程中,我们经常需要将日期时间转换为时间戳,以便于进行比较和计算。Python 2.7 提供了很多函数和模块来方便地进行日期时间和时间戳的转换。

时间戳

时间戳是指自 1970年1月1日 00:00:00 到现在所经过的秒数。Python 中,使用函数 time.time() 来获取当前时间的时间戳。

import time

timestamp = time.time()
print(timestamp)
# 输出:1568641878.123456
将日期时间转换为时间戳

我们可以使用函数 time.mktime() 将日期时间转换为时间戳。需要注意的是,该函数接受一个时间元组(year, month, day, hour, minute, second, weekday, julian day, dst flag)作为参数,其中 weekdayjulian day 可以忽略,默认为 -1。

import time

# 将当前时间转换为时间戳
timestamp = time.mktime(time.localtime())
print(timestamp)
# 输出:1568641878.0

# 将指定日期时间转换为时间戳
datetime_str = '2019-09-16 18:45:30'
datetime_tuple = time.strptime(datetime_str, '%Y-%m-%d %H:%M:%S')
timestamp = time.mktime(datetime_tuple)
print(timestamp)
# 输出:1568636730.0
将时间戳转换为日期时间

我们可以使用函数 time.localtime() 将时间戳转换为日期时间。同样地,该函数也接受一个时间戳参数,如果不传入参数则使用当前时间。

import time

# 将当前时间戳转换为日期时间
localtime = time.localtime()
print(localtime)
# 输出:time.struct_time(tm_year=2019, tm_mon=9, tm_mday=16, tm_hour=19, tm_min=27, tm_sec=15, tm_wday=0, tm_yday=259, tm_isdst=0)

# 将指定时间戳转换为日期时间
timestamp = 1568636730
localtime = time.localtime(timestamp)
print(localtime)
# 输出:time.struct_time(tm_year=2019, tm_mon=9, tm_mday=16, tm_hour=18, tm_min=45, tm_sec=30, tm_wday=0, tm_yday=259, tm_isdst=0)
将日期时间格式化输出

最后,我们可以使用函数 time.strftime() 将日期时间格式化输出,其使用方法与 C 语言中的 strftime() 类似。该函数接受两个参数,第一个参数是格式化字符串,第二个参数是时间元组。

import time

# 将当前时间格式化输出
datetime_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(datetime_str)
# 输出:2019-09-16 19:31:28

# 将指定时间格式化输出
timestamp = 1568636730
datetime_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp))
print(datetime_str)
# 输出:2019-09-16 18:45:30

以上就是 Python 2.7 中日期时间到时间戳的相关操作,可以帮助大家在编程中更加方便地进行时间计算和比较。