有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java SimpleDataFormat解析返回年终日期

我有一个简单的例子:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/YY");
        System.out.println( sdf.format(new Date()));
        try {
            System.out.println(  sdf.parse("10/18/14")  );
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

在控制台中,我得到 10/18/14 美国东部时间2013年12月29日星期日00:00:00

有什么解释吗。2013年12月29日,而不是2014年10月18日


共 (2) 个答案

  1. # 2 楼答案

    您的格式StringYY,应该是yy

    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy");
    

    根据^{}Javadoc(其中部分说明)

    Letter    Date or Time Component  Presentation    Examples
    G         Era designator          Text            AD
    y         Year                    Year            1996; 96
    Y         Week year               Year            2009; 09
    

    目前,您将获得周年

    当我进行上述更改时,我得到(预期的)

    10/18/14
    Sat Oct 18 00:00:00 EDT 2014