使用 java.text.SimpleDateFormat 解析具有可能的单位数月/日/小时的日期

2024-01-03

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

深入挖掘the http://repository.georchestra.org/svn-georchestra/sdi/trunk/job/edigeo2shp_0.1/edigeo2shp/src/routines/system/ParserUtils.java code http://repository.georchestra.org/svn-georchestra/sdi/trunk/job/edigeo2shp_0.1/edigeo2shp/src/routines/system/FastDateParser.java,我可以看到它正在使用java.text.SimpleDateFormat http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html。所以我期望需要使用的日期模式字符串是“d-M-yyyy H:mm:ss”...但它一直给我错误,如“无法解析的日期:3/14/1967 0:00:00”。

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


你确定你actually需要使用d-M-yyyy而不是M/d/yyyy?我明白为什么“3/14/1967”会有问题...您期望那是哪一天?请注意,您不仅将“d”和“M”弄反了,而且还指定了“-”而不是“/”作为分隔符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 java.text.SimpleDateFormat 解析具有可能的单位数月/日/小时的日期 的相关文章

随机推荐