我在Java中将浏览器的dateString解析/转换为Date格式时遇到问题。
以下是我从浏览器中获得的一些值。

dateStr = "01-01-2010 05:06:22";
dateStr = "Mon Oct 11 07:00:00 EDT 2010";
dateStr = "Fri May 25 2012 08:00:00 GMT-0400 (Eastern Daylight Time)";

每个dateStr的格式都不同,在后端,我使用具有特定格式的SimpleDateFormat来转换dateStr。由于输入的dateStr格式不一致,因此如何在后端处理该想法?

几乎没有访问前端代码/民间语言的权限。

PS:我曾在Google上搜索过此内容,并在StackOverflow上阅读了相关主题。

任何帮助都将不胜感激。谢谢。

最佳答案

您拥有了所需的一切。首先为您可以从客户端获取的每种可能的日期格式定义模式。然后简单地遍历这些格式,然后尝试使用每种格式和SimpleDateFormat解析输入。

如果SimpleDateFormat返回null(解析错误),则继续循环,直到获得有效的Date为止。您可能会问:如果输入匹配的内容多于一个模式(是02-01-2012是1月2日还是2月1日,该怎么办?)那么,那么您会有更大的问题...

10-05 23:25