java - 如何在不知道字符串格式的情况下将字符串转换为日期?

标签 java date

在我的应用程序中,我正在以字符串格式读取用户的日期参数。

读取参数后,我需要将字符串转换为*所需的日期格式*

所需格式 = YYYY-MM-DD HH:MM:SS

输入字符串可以是任何格式。

例如:2013/09/19 14:21:07 2013-09-19 14:21:07

无论获得的格式如何,我都需要将其转换为所需的格式。 如何实现这一目标?

我看到了一些片段,

SimpleDateFormat formatter = new SimpleDateFormat("YYYY/MM/DD HH:MM:SS"); 
Date dt = formatter.parse("2013/09/19 14:21:07");
SimpleDateFormat desiredFormatter = new
SimpleDateFormat("YYYY-MM-DD HH:MM:SS");

desiredFormatter .format(dt);

只有当我们知道解析字符串的输入格式时,上面的代码片段才有效。 但就我而言,我不知道输入格式。所以我想直接使用 format 方法而不进行解析。

这可能吗?

最佳答案

这是不可能的。如果您事先不知道真实格式,则无法确定 01/01/2013 是 MM/dd/yyyy 还是 dd/MM/yyyy

关于java - 如何在不知道字符串格式的情况下将字符串转换为日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18893308/

相关文章:

java - 传递给Java中的方法时如何要求参数是两种类型

javascript - 为什么我无法在 Javascript Date 对象上使用 getDay() 方法和 getUTCDay() 方法获得相同的结果

MySQL Display All Date between range although is no record

mysql - 将 mysql 日期转换为 NSDate

java - Crittercism 我无法在实时统计中看到我的崩溃

java - 单击下拉菜单中的项目后更改 RecyclerView 内容

java - 在条件句中何时发生此分配?

mysql - 不同季节的酒店房价

date - 将纪元时间转换为时间戳 flutter

java - 为什么 JPA 更新 OrderColumn 而不是在创建时设置它?