时间戳如何转换python

时间戳如何转换python

作者:Rhett Bai发布时间:2026-01-06阅读时长:0 分钟阅读次数:9

用户关注问题

Q
怎样将时间戳转换为可读的日期格式?

我有一个时间戳值,想在Python中将其转换成人类可读的日期和时间格式,该怎么做?

A

使用datetime模块进行时间戳转换

可以使用Python内置的datetime模块,通过datetime.fromtimestamp()方法将时间戳转换成日期时间对象,再使用strftime()格式化为想要的字符串格式。例如:

import datetime
ts = 1609459200 # 示例时间戳
dt = datetime.datetime.fromtimestamp(ts)
print(dt.strftime('%Y-%m-%d %H:%M:%S'))
Q
时间戳是秒还是毫秒?如何判断?

在使用Python处理时间戳时,如何区分时间戳是以秒还是毫秒为单位,避免转换出错?

A

判断时间戳单位及正确转换方式

通常Unix时间戳是以秒为单位的一个整数,但有些系统可能以毫秒为单位。一般时间戳如果是10位数字,表示秒;如果是13位数字,表示毫秒。转换时如果是毫秒,需要先除以1000。示例:

import datetime

# 毫秒时间戳
ts_milli = 1609459200000
# 转换为秒
ts_sec = ts_milli / 1000
print(datetime.datetime.fromtimestamp(ts_sec))
Q
如何将日期时间字符串转换为时间戳?

有格式化的日期时间字符串,怎么用Python转换成对应的时间戳?

A

利用strptime解析字符串后转换时间戳

可以先用datetime.strptime()将日期时间字符串解析成datetime对象,然后调用timestamp()方法获得时间戳。例如:

import datetime

date_str = '2021-01-01 00:00:00'
dt = datetime.datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')
ts = dt.timestamp()
print(int(ts))