【发布时间】:2014-03-25 08:33:49
【问题描述】:
在我的代码中,我必须将字符串值(输入)转换为 java.sql.Date format。我面临的问题是,输入日期格式未定义,它可以是任何格式。例如,输入字符串可能是"Jan 10,2014" 或"01-10-2014" 或"2014/Jan/10"。所以现在我需要把这个输入值转换成java.sql.Date(DD/MMMM/YYYY)。有没有办法进行这种转换?
【问题讨论】:
-
为什么我们没有在谷歌上搜索就得到这么多日期/字符串转换问题???搜索
SimpleDateFormat -
IMO 您需要指定您想要处理的所有日期格式,然后尝试解析每种格式。
-
出于兴趣,您怎么知道 01-10-2014 是 2014 年 10 月 1 日而不是 2014 年 1 月 10 日。如果您可以影响输入的数据格式,那么现在是时候这样做了,如果输入的日期格式不受限制,则不能明确地将其转换为日期。
-
这种固有的模糊性是设计ISO 8601 标准的原因。如果可能,请使用这些标准格式。 java.time 类在解析/生成日期时间值的文本表示时默认使用这些格式。
标签: java oracle sqldatetime