我有个问题。我正在尝试将一些字符串转换为日期,但我不知道日期到达的格式。
它可能以 yyyy.mm.dd hh:mm:ss
或 MM.dd.yy hh:mm:ss
等形式出现。
如何将这些字符串转换为日期?我试过这个:
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
Date d = (Date)formatter.parse(someDate);
但是当我打印出 someDate 时,它打印出来是这样的: 2010-08-05 12:42:48.638 CEST 这意味着 yyyy.mm.dd hh:mm:ss
,但是当我运行上面的代码时,日期对象现在变成了 Sat Jan 31 00:42:48 CET 11
这至少可以说是奇怪的。
有什么想法可以正确格式化字符串吗?
原文由 Shervin Asgari 发布,翻译遵循 CC BY-SA 4.0 许可协议
你不能!
如果您有日期
2010-08-05
那么它可以是 2010 年 8 月 5 日或 2010 年 5 月 8 日 - 您 需要 知道日期格式(或至少优先考虑一种格式)以区分它们。