我需要用以下格式(字符串)解析西班牙日期:
6 junio 2012
20 mayo 2012 朱诺的意思是六月,梅奥的意思是可能。
如你所见,这个月是用西班牙语写的。如何将其规范化以获得规范化日期(yyyy-mm-dd)?
在上面的例子中,我想要的输出应该是:
2012-06-06
2012-05-20老实说,我甚至不知道该如何开始,寻找这个具体案例的解决方案有点困难。
提前感谢
发布于 2016-12-01 11:07:44
试试下面的代码。这里的诀窍是用一种语言和国家初始化SimpleDateFormat,在本例中是西班牙语(Espa)和西班牙(Espa)。
String yourDate = "20 mayo 2012";
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy", new Locale("es","ES"));
Date date = sdf.parse(yourDate);
System.out.println(date.toString());输出:
Sun May 20 00:00:00 SGT 2012如果要将此西班牙日期格式化为yyyy-mm-dd,则可以再次使用SimpleDateFormat中的format()方法。
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-mm-dd");
System.out.println(sdf2.format(date));更新:
我们在整个月名的格式掩码中使用MMM的原因在用于SimpleDateFormat的Javadoc中解释得很清楚。
月份:如果模式字母数为3或更多,则该月份被解释为文本;否则,它将被解释为数字。
我看到MMM甚至MMMM都习惯了似乎同样的效果。
https://stackoverflow.com/questions/40908863
复制相似问题