我需要使用以下格式(字符串)解析西班牙日期:
6 junio 2012
20 mayo 2012
Run Code Online (Sandbox Code Playgroud)
junio 的意思是六月,mayo的意思是五月。
正如您所看到的,月份是用西班牙语写的。如何对其进行标准化以获得标准化日期 ( yyyy-mm-dd)?
在上面的例子中,我想要的输出应该是:
2012-06-06
2012-05-20
Run Code Online (Sandbox Code Playgroud)
老实说,我什至不知道如何开始,寻找这个特定案例的解决方案有点困难。
提前致谢
尝试以下代码。这里的技巧是用SimpleDateFormat两者来初始化和国家/地区进行初始化,在本例中是西班牙语 (Espa\xc3\xb1ol) 和西班牙 (Espa\xc3\xb1a)。
String yourDate = "20 mayo 2012";\nSimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy", new Locale("es","ES"));\nDate date = sdf.parse(yourDate);\nSystem.out.println(date.toString());\nRun Code Online (Sandbox Code Playgroud)\n\n输出:
\n\nSun May 20 00:00:00 SGT 2012\nRun Code Online (Sandbox Code Playgroud)\n\n如果您想格式化此西班牙日期,yyyy-mm-dd您可以再次使用format()以下方法SimpleDateFormat:
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-mm-dd");\nSystem.out.println(sdf2.format(date));\nRun Code Online (Sandbox Code Playgroud)\n\n更新:
\n\nMMM我们在完整月份名称的格式掩码中使用的原因在SimpleDateFormat 的 Javadoc中得到了很好的解释中有很好的解释:
\n\n\n月:如果模式字母的数量为 3 个或更多,则将月份解释为文本;否则,它被解释为数字。
\n
我都见过MMM,甚至MMMM习惯了似乎相同的效果。
| 归档时间: |
|
| 查看次数: |
2275 次 |
| 最近记录: |