美文网首页
英语日期的转换

英语日期的转换

作者: Kjiang | 来源:发表于2015-11-29 10:37 被阅读63次

    背景

    需要将日期字符串“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

    相关文章

      网友评论

          本文标题:英语日期的转换

          本文链接:https://www.haomeiwen.com/subject/cqxjhttx.html