我有日期輸入在許多不同的格式。我基本上試圖採取所有不同的格式,並將其標準化爲ISO 8601格式。在不同的語言與月份名稱打交道
如果日期包含月份名稱,例如March,然後我用下面的函數來獲取月份數,例如03.
month = String.valueOf(Month.valueOf(month.toUpperCase()).getValue());
無論如何,我遇到的問題是,月份名稱是在許多不同的語言,沒有說明他們將是什麼語言。運行上面的功能時,我發現了以下錯誤:
Caused by: java.lang.IllegalArgumentException: No enum constant java.time.Month.AUGUSTI
at java.lang.Enum.valueOf(Enum.java:238)
at java.time.Month.valueOf(Month.java:106)
是否有可以處理多種不同語言的月份名稱,返回的數值,甚至只是翻譯月份名稱英文任何庫?
這裏的輸入日期的示例:
1370037600
1385852400
1356994800
2014-03-01T00:00:00
2013-06-01T00:00:00
2012-01-01
2012
May 2012
März 2010
Julio 2009
你爲什麼不只是解析日期,使用標準的Java庫提供的支持?這到底需要解析的輸入是什麼? –
@JBNizet我已經更新了添加輸入數據的問題。如您所見,格式完全不同。關於爲什麼我沒有使用標準Java庫中提供的支持:我不知道如何使用給定的輸入來完成此操作。另外,不確定Java.time.Month是不是標準的Java。 –
好的。你如何解析它們?你怎麼知道這門語言是什麼?你怎麼知道每個輸入的格式是什麼?你怎麼知道胡里奧是一個月而不是一天? –