如何将Python日期转换为Unix时间戳?

如何将Python日期转换为Unix时间戳?

UNIX时间戳是从纪元开始计算的总秒数。纪元是时间的起点,具体取决于平台。对于Windows和大多数Unix系统来说,纪元是1970年1月1日00:00:00(UTC),并且不包括闰秒在内的秒数表示从纪元开始的时间。

在这篇文章中,我们将看到如何将Python日期转换为UNIX时间戳。

日期时间转换为UNIX时间戳

我们通过使用time.mktime()方法将Python日期转换为UNIX时间戳。在这个例子中,我们首先导入了datetime模块。然后我们声明并赋值一个datetime.time/date对象(2022年6月3日12点0分50秒)。time.mktime()是本地时间的反函数。time模块的time.mktime()方法接受一个time.struct_time对象或一个包含9个元素的元组,并返回一个表示自纪元以来经过的时间(以秒为单位)的浮点数值。

语法

mktime()方法的语法如下所示。

time.mktime(t)

其中,t是一个time.struct_time对象或包含9个元素的元组,它对应于一个time.struct_time对象。

datetime.date实例的timetuple()方法返回一个time.struct_time类型的对象。通过使用time.mktime()方法将此对象转换为UNIX时间戳。

示例

以下是一个将python日期转换为UNIX时间戳的示例代码。

import datetime
import time
date_time = datetime.datetime(2022, 6, 3, 12, 0, 50)
print("Given Date:",date_time)
print("UNIX timestamp:",
(time.mktime(date_time.timetuple())))

输出

上述代码的输出如下:

Given Date: 2022-06-03 12:00:50
UNIX timestamp: 1654257650.0

在UTC时区下将日期时间转换为UNIX时间戳

在这里,我们可以使用 datetime 模块将一个日期时间转换为UTC时间戳。

如果你已经有了一个UTC日期时间对象,你可以使用 timestamp() 方法来得到一个UTC时间戳。该方法返回该日期时间对象距离纪元的时间。如果你有一个本地时区的日期时间对象,请先替换时区信息,然后获取时间。

示例

以下是一个将日期时间转换为UNIX时间戳的示例代码。

import datetime
from datetime import timezone
dt = datetime.datetime(2022, 6, 7)
timestamp = dt.replace(tzinfo=timezone.utc).timestamp()
print("The timestamp for the date 06-07-2022 is:",timestamp)

输出

The timestamp for the date 06-07-2022 is: 1654560000.0

时间字符串转换为UNIX时间戳

在这个例子中,我们将一个以字符串格式表示的datetime转换为UNIX时间戳。

示例

import datetime
given_date = "8/6/2022, 05:54:8"
formated_date = datetime.datetime.strptime(given_date,"%m/%d/%Y, %H:%M:%S")
Unix_timestamp = datetime.datetime.timestamp(formated_date)
print("The Unix timestamp for the given input date is:")
print(Unix_timestamp)

输出结果

The Unix timestamp for the given input date is:
1659765248.0

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程