java - 将字符串转换为日期对象

标签 java date jodatime

我正在从文件中读取日期值,在该文件中我将其作为字符串对象读取。

日期值有多种格式,例如下面的 sew:

01-Mar-2012
01/12/2012
01-12-2012
01.12.2012
01.Mar.2012
07/01/2008 12:00:00
07/01/2008 12:00:00 AM

我想要格式为 dd/mm/yyyy 的日期对象是什么格式。

有很多组合。

SimpleDateFormat 希望我提供格式化它的模式。

有什么方法可以猜测模式或从给定的字符串创建日期对象吗?

最佳答案

你怎么知道2012年6月12日是12月6日还是6月12日?!

您可以做的是定义一个包含所有可能模式的数组。

然后尝试解析每个数组条目的日期(如果抛出异常,请尝试下一个模式等)

我知道这是一个相当丑陋的尝试,但它确实有效!

关于java - 将字符串转换为日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16302345/

相关文章:

database - RDBMS 时间戳与 Hive 时间戳时区不匹配

java - 根据用户时区进行日期转换

java - 无法在 IP 摄像机上对动态生成的图像进行快速 I/O

java - 为什么我的 `getClass().getResource("日志")` 返回 null?

java - 在 Java 中格式化日期

java - JodaTime 年表缓存

java - Joda-Time DateTimeFormatter 类线程安全吗?

java - 启动 JVM REST 服务,我应该使用什么堆栈?

java - 可以访问来自java运行时的 native void,就这样吗?

r - 处理 R 中的日期时间值