将dateString从浏览器转换为java.util.Date?

时间:2012-05-15 16:53:11

标签: java date browser java.util.date

我在使用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:我确实谷歌了解这一点,并在StackOverflow上阅读相关主题。

非常感谢任何形式的帮助。谢谢。

1 个答案:

答案 0 :(得分:3)

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

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