Python 时间戳与 datetime 的相互转换

将日期和时间以时间戳的形式存储在数据库中是很常见的做法。Unix 时间戳是指特定日期与 1970 年 1 月 1 日 UTC 时间之间的秒数。

我们可以简单地使用 datetime 模块中的 fromtimestamp() 方法从 UNIX 时间戳获取日期。


Python 时间戳转 datetime

from datetime import datetime

# timestamp is number of seconds since 1970-01-01 
timestamp = 1545730073

# convert the timestamp to a datetime object in the local timezone
dt_object = datetime.fromtimestamp(timestamp)

# print the datetime object and its type
print("dt_object =", dt_object)
print("type(dt_object) =", type(dt_object))
 

输出

dt_object = 2018-12-25 09:27:53
type(dt_object) = <class 'datetime.datetime'>

在这里,我们从 datetime 模块导入了 datetime 类。

然后,我们使用了 datetime.fromtimestamp() 类方法,它返回本地日期和时间(一个 datetime 对象)。这个对象被存储在 dt_object 变量中。

注意: 我们可以使用 strftime() 方法,从一个 datetime 对象轻松地创建一个表示日期和时间的字符串


Python datetime 转时间戳

在 Python 中,我们可以使用 datetime.timestamp() 方法从一个 datetime 对象获取时间戳。例如,

from datetime import datetime

# current date and time
now = datetime.now()

# convert from datetime to timestamp
ts = datetime.timestamp(now)

print("Timestamp =", ts)

输出

Timestamp = 1672138646.118119

这里,datetime.timestamp() 方法接受一个 datetime 对象作为参数,并返回一个 Unix 时间戳。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战