DateTime格式化时间戳怎么写
使用 datetime.datetime.fromtimestamp() 将时间戳转换为对象,再调用 .strftime() 方法指定格式字符串即可得到格式化后的时间字符串。该方法接受浮点或整型时间戳作为输入,返回符合指定模式的日期时间文本。

如何处理时区差异导致的时间偏移
默认情况下 fromtimestamp() 会按本地时区解释时间戳,若需 UTC 时间应传入 timezone.utc 参数或使用 utcfromtimestamp()(已弃用)。通过显式指定时区可避免本地环境差异带来的结果不一致。

当时间戳为负数或超出范围时会发生什么
负数时间戳表示 1970 年之前的时间,只要系统支持 POSIX 时间即可正常转换;若时间戳过大超出平台限制则抛出 OSError 或 OverflowError。Python 3.3+ 中 fromtimestamp() 对极大值有明确边界处理。

import datetime
# 示例:当前时间戳转格式化字符串
ts = datetime.datetime.now().timestamp()
formatted = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
print(formatted)
# 示例:UTC 时间戳转格式化字符串
utc_ts = 1609459200 # 2021-01-01 00:00:00 UTC
utc_formatted = datetime.datetime.fromtimestamp(utc_ts, tz=datetime.timezone.utc).strftime('%Y-%m-%d %H:%M:%S %Z')
print(utc_formatted)
# 示例:负数时间戳(1969-12-31)
neg_ts = -86400
neg_formatted = datetime.datetime.fromtimestamp(neg_ts).strftime('%Y-%m-%d %H:%M:%S')
print(neg_formatted)
预期输出:
2023-10-01 12:00:00
2021-01-01 00:00:00 UTC
1969-12-31 00:00:00










