如何在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函数。
