【问题标题】:Parse date with possible single-digit month/day/hour using java.text.SimpleDateFormat使用 java.text.SimpleDateFormat 以可能的单位数月/日/小时解析日期
【发布时间】:2010-10-14 18:45:50
【问题描述】:

在使用 Talend Open Studio(一种开源代码生成 ETL 工具)的项目中,我在解析传入的日期字符串时遇到错误,例如“3/14/1967 0:00:00”(请注意数字月份)。

深入thecode,我可以看到它正在使用java.text.SimpleDateFormat。所以我希望我需要使用的日期模式字符串是 "d-M-yyyy H:mm:ss"... 但它不断给我错误,比如“Unparseable date: 3/14/1967 0: 00:00”。

我假设 SimpleDateFormat 可以处理一位数或两位数的问题。 我需要不同的日期模式吗?(当然,我可以在 Java 尝试将字符串读取为日期之前进行预处理以调整值,但这不是必需的!)

【问题讨论】:

    标签: java parsing datetime talend


    【解决方案1】:

    你确定你实际上需要使用d-M-yyyy而不是M/d/yyyy吗?我明白为什么“1967 年 3 月 14 日”会出现问题……您希望那是什么日期?请注意,您不仅将“d”和“M”弄错了,而且还指定了“-”而不是“/”作为分隔符。

    【讨论】:

    • 天哪,太尴尬了!我现在应该放弃,然后再做一些更轻率的事情。你是对的:我已经交换了月份和日期的值,并且用破折号而不是斜线。嘘。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 2016-11-28
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多