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

如何在Python中将日期和时间从ISO8601格式转换为Unix时间戳

发布时间:2023-12-18 09:07:29

在Python中,可以使用datetime库来将日期和时间从ISO8601格式转换为Unix时间戳。

首先,需要导入datetime和time模块:

import datetime
import time

然后,可以使用datetime模块中的strptime函数将字符串日期和时间转换为datetime对象。strptime函数接受两个参数:待转换的日期和时间字符串以及日期和时间的格式。对于ISO8601格式的日期和时间,可以使用"%Y-%m-%dT%H:%M:%S%z"作为格式。

iso8601_date_string = "2022-08-25T12:34:56+0800"
date_object = datetime.datetime.strptime(iso8601_date_string, "%Y-%m-%dT%H:%M:%S%z")

现在,date_object是一个包含了日期和时间的datetime对象。

接下来,可以使用datetime对象的timestamp方法将其转换为Unix时间戳。timestamp方法返回一个浮点数,表示从1970年1月1日午夜(UTC时间)起经过的秒数。

timestamp = date_object.timestamp()

现在,timestamp就是将日期和时间从ISO8601格式转换为Unix时间戳的结果。

以下是一个完整的例子:

import datetime
import time

iso8601_date_string = "2022-08-25T12:34:56+0800"
date_object = datetime.datetime.strptime(iso8601_date_string, "%Y-%m-%dT%H:%M:%S%z")
timestamp = date_object.timestamp()

print(timestamp)

输出结果为:1793052096.0

注意,timestamp结果可能包含小数部分,因为Unix时间戳精确到秒级。如果需要将其取整为整数,可以使用int函数:

timestamp = int(timestamp)

以上就是将日期和时间从ISO8601格式转换为Unix时间戳的方法,并附带了一个使用例子。实际应用中,可以根据需要来调整日期和时间的格式,以适应不同的输入。