跳到主要内容

Python 时间戳与datetime转换

提示
  1. 时间戳转换为datetime:利用datetime.fromtimestamp()方法,可以将Unix时间戳转换为Python的datetime对象。
  2. datetime转换为时间戳:使用datetime.timestamp()方法,从datetime对象转换为Unix时间戳。
  3. 格式转换灵活性datetime对象可以方便地转换为不同的时间表示格式,例如使用strftime()方法进行格式化。

在数据库中存储日期和时间作为时间戳是非常常见的。Unix时间戳是指从1970年1月1日至特定日期的秒数。

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

Python 时间戳转换为datetime

from datetime import datetime

# 时间戳是自1970-01-01以来的秒数
timestamp = 1545730073

# 将时间戳转换为本地时区的datetime对象
dt_object = datetime.fromtimestamp(timestamp)

# 打印datetime对象及其类型
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()方法轻松创建表示日期和时间的字符串。

Python datetime转换为时间戳

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

from datetime import datetime

# 当前日期和时间
now = datetime.now()

# 从datetime转换为时间戳
ts = datetime.timestamp(now)

print("时间戳 =", ts)

输出

时间戳 = 1672138646.118119

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