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

如何在python中将iso8601格式的日期和时间转换为unix时间戳

发布时间:2024-01-15 16:57:33

在Python中,可以使用datetime模块将ISO 8601格式的日期和时间转换为UNIX时间戳。UNIX时间戳是从1970年1月1日00:00:00 UTC开始的秒数。

首先,需要导入datetime模块:

import datetime

然后,可以使用datetime模块中的strptime函数将ISO 8601格式的日期和时间转换为datetime对象。例如,假设要将"2022-12-31T23:59:59Z"转换为datetime对象:

iso8601_datetime = "2022-12-31T23:59:59Z"
dt = datetime.datetime.strptime(iso8601_datetime, "%Y-%m-%dT%H:%M:%SZ")

在这里,"%Y-%m-%dT%H:%M:%SZ"是与ISO 8601格式匹配的日期和时间格式化字符串。具体来说,"%Y"代表四位数的年份,"%m"代表两位数的月份,"%d"代表两位数的日期,"%H"代表24小时制的小时数,"%M"代表分钟数,"%S"代表秒数。

接下来,可以使用datetime对象的timestamp方法将其转换为UNIX时间戳。例如:

timestamp = dt.timestamp()

现在,变量timestamp就包含了ISO 8601格式日期和时间对应的UNIX时间戳。

下面是一个完整的示例代码:

import datetime

iso8601_datetime = "2022-12-31T23:59:59Z"
dt = datetime.datetime.strptime(iso8601_datetime, "%Y-%m-%dT%H:%M:%SZ")
timestamp = dt.timestamp()

print(f"ISO 8601格式的日期和时间: {iso8601_datetime}")
print(f"转换后的UNIX时间戳: {timestamp}")

运行以上代码会输出以下结果:

ISO 8601格式的日期和时间: 2022-12-31T23:59:59Z
转换后的UNIX时间戳: 1672521599.0

这是ISO 8601格式日期和时间"2022-12-31T23:59:59Z"对应的UNIX时间戳。

需要注意的是,datetime对象的timestamp方法返回的是浮点数类型的时间戳,精确到秒级。如果需要精确到毫秒或微秒级别,可以使用time模块中的time函数。