📅  最后修改于: 2023-12-03 15:04:03.810000             🧑  作者: Mango
在编程中,我们经常需要将日期时间转换为时间戳,以便于进行比较和计算。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)作为参数,其中 weekday
和 julian 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 中日期时间到时间戳的相关操作,可以帮助大家在编程中更加方便地进行时间计算和比较。