
时间戳如何转换python
用户关注问题
怎样将时间戳转换为可读的日期格式?
我有一个时间戳值,想在Python中将其转换成人类可读的日期和时间格式,该怎么做?
使用datetime模块进行时间戳转换
可以使用Python内置的datetime模块,通过datetime.fromtimestamp()方法将时间戳转换成日期时间对象,再使用strftime()格式化为想要的字符串格式。例如:
import datetime
ts = 1609459200 # 示例时间戳
dt = datetime.datetime.fromtimestamp(ts)
print(dt.strftime('%Y-%m-%d %H:%M:%S'))
时间戳是秒还是毫秒?如何判断?
在使用Python处理时间戳时,如何区分时间戳是以秒还是毫秒为单位,避免转换出错?
判断时间戳单位及正确转换方式
通常Unix时间戳是以秒为单位的一个整数,但有些系统可能以毫秒为单位。一般时间戳如果是10位数字,表示秒;如果是13位数字,表示毫秒。转换时如果是毫秒,需要先除以1000。示例:
import datetime
# 毫秒时间戳
ts_milli = 1609459200000
# 转换为秒
ts_sec = ts_milli / 1000
print(datetime.datetime.fromtimestamp(ts_sec))
如何将日期时间字符串转换为时间戳?
有格式化的日期时间字符串,怎么用Python转换成对应的时间戳?
利用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))