Python 将日期时间转换为纪元
- 在 Python 中使用显式方法将日期时间转换为纪元
-
在 Python 中使用
timestamp()
函数将日期时间转换为纪元 -
在 Python 中使用
strftime(format)
函数将日期时间转换为纪元 -
在 Python 中使用
timegm
函数将 DateTime 转换为纪元
datetime
库可以导入到 Python 程序中。它在 Python 代码中提供了用于处理日期和时间的类。
epoch 是测量经过时间的起点,其值通常会有所不同,并取决于所使用的平台。
本教程将讨论在 Python 中将日期时间转换为纪元的不同方法。
在 Python 中使用显式方法将日期时间转换为纪元
在这种方法中,我们采用当前日期,并从开始日期中手动减去当前日期,然后使用 total_seconds()
函数并显示以秒为单位进行转换。
此处的初始日期是 1970/1/1。
下面的代码在 Python 中使用显式方法将日期时间转换为纪元。
import datetime
ts = (
datetime.datetime(2019, 12, 1, 0, 0) - datetime.datetime(1970, 1, 1)
).total_seconds()
print(ts)
输出:
1575158400.0
在 Python 中使用 timestamp()
函数将日期时间转换为纪元
时间戳是一系列字符,指示特定事件何时发生的值。
Python 提供了 timestamp()
函数,该函数可用于获取自 epoch 以来的 datetime 时间戳。
以下代码使用 timestamp()
函数在 Python 中将日期时间转换为纪元。
import datetime
ts = datetime.datetime(2019, 12, 1, 0, 0).timestamp()
print(ts)
输出:
1575158400.0
这是一种相当简单的方法,可为我们提供准确的输出。
请注意,timestamp()
函数仅适用于 Python 3.3+,不适用于旧版本的 Python。
在 Python 中使用 strftime(format)
函数将日期时间转换为纪元
strftime(format)
方法用于根据用户指定的格式将对象转换为字符串。
对于此过程的相反过程,使用了 strptime()
方法。
以下代码使用 strftime(format)
方法在 Python 中将日期时间转换为纪元。
import datetime
ts = datetime.datetime(2019, 12, 1, 0, 0).strftime("%s")
print(ts)
输出:
1575158400
strftime(format)
可能并不总是提供正确的解决方案。此方法使用%s
指令作为 strftime
的参数,而 Python 实际上并不支持该参数。之所以可行,是因为 Python 将%s
转发到系统的 strftime
方法。
此方法不是将日期时间转换为纪元的最准确方法。不建议仅因为有更好,更准确的方法而使用此方法。
在 Python 中使用 timegm
函数将 DateTime 转换为纪元
timegm()
函数采用一个特定的时间值,并返回其相应的 Unix 时间戳值。纪元取为 1970,并假定为 POSIX 编码。time.gmtime()
和 timegm()
函数彼此相反。
calendar
和 time
库都需要被导入 Python 程序以使用这些函数。
calendar
模块使我们能够输出日历以及与此相关的一些其他有用功能。
以下代码使用 timegm()
函数将日期时间转换为纪元。
import datetime
import calendar
d = datetime.datetime(2019, 12, 1, 0, 0)
print(calendar.timegm(d.timetuple()))
输出:
1575158400
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn