背景
需要將日期字符串“Dec 2014”轉(zhuǎn)換成日期。
版本一
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);
}
}
編譯執(zhí)行后產(chǎn)生異常:
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)
修改版
發(fā)現(xiàn)這個(gè)問(wèn)題后在網(wǎng)絡(luò)上搜索敲街,發(fā)現(xiàn)對(duì)SimpleDateFormat的用法基本與上面一致鼻百。一直找不到
為什么我會(huì)產(chǎn)生異常绞旅。后來(lái)在
stackoverflow上找到答案,
在創(chuàng)建format時(shí)應(yīng)該設(shè)定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