使用Python库将ISO8601格式日期和时间转换为Unix时间戳的方法。
发布时间:2023-12-18 09:02:24
在Python中,我们可以使用datetime和time模块来将ISO8601格式日期和时间转换为Unix时间戳。
首先,需要导入datetime和time模块:
import datetime import time
然后,我们可以使用datetime.strptime()方法将ISO8601格式的日期和时间转换为datetime对象。该方法接受两个参数, 个参数是要转换的日期和时间字符串,第二个参数是日期和时间的格式。ISO8601格式的日期和时间格式为%Y-%m-%dT%H:%M:%S%z。
iso8601_date = "2022-01-01T12:00:00+00:00" date_object = datetime.datetime.strptime(iso8601_date, "%Y-%m-%dT%H:%M:%S%z")
然后,我们可以使用date_object.timestamp()方法将datetime对象转换为Unix时间戳。该方法返回一个浮点数,表示从1970年1月1日至今的秒数。
timestamp = date_object.timestamp()
完整的代码如下:
import datetime import time iso8601_date = "2022-01-01T12:00:00+00:00" date_object = datetime.datetime.strptime(iso8601_date, "%Y-%m-%dT%H:%M:%S%z") timestamp = date_object.timestamp() print(timestamp)
运行以上代码将输出Unix时间戳:
1641033600.0
这表示ISO8601格式的日期和时间2022-01-01T12:00:00+00:00对应的Unix时间戳为1641033600秒。
以下是另一个例子,将当前日期和时间转换为Unix时间戳:
import datetime import time current_date = datetime.datetime.now() timestamp = current_date.timestamp() print(timestamp)
运行以上代码将输出当前的Unix时间戳。
请注意,datetime.strptime()方法和datetime.timestamp()方法在Python 3.2及以上版本中可用。
