英语日期的转换
2015-11-29 本文已影响63人
Kjiang
背景
需要将日期字符串“Dec 2014”转换成日期。
版本一
import java.util.*;
import java.io.*;
import java.text.*;
public class Main
{
public static void main(String[] args) throws ParseException {
DateFormat format = new SimpleDateFormat("MMM yyyy");
format.setLenient(true);
Date date = format.parse("Jul 2014");
System.out.println(date);
}
}
编译执行后产生异常:
Exception in thread "main" java.text.ParseException: Unparseable date: "Jul/2014"
at java.text.DateFormat.parse(DateFormat.java:357)
at Main.main(Main.java:10)
修改版
发现这个问题后在网络上搜索,发现对SimpleDateFormat的用法基本与上面一致。一直找不到
为什么我会产生异常。后来在
stackoverflow上找到答案,
在创建format时应该设定Locale.
//仅修改第8行
DateFormat format = new SimpleDateFormat("MMM yyyy", Locale.ENGLISH);
参考
[1]: Date format parse exception - EEE MMM dd HH:mm:ss Z yyyy
于 2015-01-11