You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含CST的时间字符串转换为datetime对象

将包含CST的时间字符串转换为datetime对象

CST是个多义时区缩写,可能代表中国标准时间(UTC+8)、美国中部标准时间(UTC-6)等,处理时得先明确对应时区,避免歧义。下面是两种常用处理方法:

方法一:用Python标准库实现

Python标准库的datetime.strptime默认不识别CST,我们可以先解析时间部分,再手动绑定时区:

from datetime import datetime, timedelta, timezone

ts = "Wed Dec 31 18:00:00 CST 1969"
# 解析不带时区标识的时间字符串
dt_naive = datetime.strptime(ts, "%a %b %d %H:%M:%S CST %Y")

# 绑定中国标准时间(UTC+8)
cst_tz = timezone(timedelta(hours=8), name="CST")
dt_aware = dt_naive.replace(tzinfo=cst_tz)

print(dt_aware)  # 输出带时区的datetime对象

如果你的CST指美国中部标准时间,把timedelta(hours=8)改成timedelta(hours=-6)即可。

方法二:用python-dateutil简化处理

第三方库python-dateutil能自动识别大部分时区缩写,处理起来更省心,不过需要先安装:

pip install python-dateutil

基础用法:

from dateutil import parser

ts = "Wed Dec 31 18:00:00 CST 1969"
dt = parser.parse(ts)
print(dt)

如果担心时区歧义,也可以手动指定CST对应的时区:

from dateutil import parser
from dateutil.tz import gettz

# 明确指定CST为中国标准时间(Asia/Shanghai)
tz_map = {"CST": gettz("Asia/Shanghai")}
dt = parser.parse(ts, tzinfos=tz_map)
print(dt)

注意事项

  • 务必确认业务中CST对应的实际时区,否则会出现时间解析错误
  • 标准库方法无需额外安装依赖,适合轻量场景;第三方库更便捷,适合复杂时区处理

内容的提问来源于stack exchange,提问作者lucky1928

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 06:42:08