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

如何将java.util.date转换为Python可识别的DateTime格式

java.util.Date默认输出转Python datetime方法

你拿到的Sat Jan 01 02:00:00 EET 2022是java.util.Date调用toString()的标准输出格式,直接用Python即可解析,不需要复杂处理。

无额外依赖、兼容性最好的方案(不保留原时区)

时区缩写本身存在重名歧义,且Python原生strptime对跨平台时区缩写的支持不稳定,如果你不需要绑定原始时区信息,直接截断时区字段解析即可,100%兼容所有运行环境:

from datetime import datetime
import locale
# 指定英文时间解析环境,避免中文系统下星期、月份缩写解析失败
locale.setlocale(locale.LC_TIME, 'en_US.UTF-8')

# 替换为你从SPSS Modeler读取到的实际日期字符串
java_date_str = "Sat Jan 01 02:00:00 EET 2022"
# 拆分字符串后移除中间的时区字段
str_parts = java_date_str.split()
processed_str = " ".join(str_parts[:4] + str_parts[5:])
# 按固定格式解析为原生datetime对象
dt_result = datetime.strptime(processed_str, "%a %b %d %H:%M:%S %Y")

需要保留时区信息的方案

如果需要保留原始时区,安装python-dateutil库后可以直接自动解析整串,不需要手动处理格式:

from dateutil import parser

java_date_str = "Sat Jan 01 02:00:00 EET 2022"
dt_result = parser.parse(java_date_str)

解析后得到的是带时区信息的aware datetime对象,可以直接做时间计算、时区转换操作。

注意事项

  • 通用时区缩写存在重名冲突(如CST可同时代表4个不同时区),如果你的数据源使用的时区是固定的,建议解析后手动绑定指定时区,避免自动识别错误。
  • 如果运行环境没有en_US.UTF-8本地化配置,可以替换为系统中已安装的英文本地化标识,比如English_United States.1252(Windows平台)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 00:51:18