SimpleDate格式返回Date的错误日期,该日期大于12月28日

时间:2015-11-06 07:31:32

标签: java

我使用以下代码将日期值转换为字符串。

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
    String dateInString = "27-Dec-2014";

    try {

        Date date = formatter.parse(dateInString);
        System.out.println(date);
        System.out.println(formatter.format(date));

        String dateString = null;
        SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd hh:mm:ss");
        dateString = sdf.format(date);
        System.out.println("Date generated by getFormattedDate "+dateString);


    } catch (ParseException e) {
        e.printStackTrace();
    }

如果我们在12月28日之前使用任何日期,它可以正常工作。 它产生以下输出。

   Sat Dec 27 00:00:00 IST 2014
27-Dec-2014
Date generated by getFormattedDate 2014-12-27 12:00:00

如果我们在12月28日使用日期,那么它会生成明年的日期。

String dateInString = "28-Dec-2014";

它产生以下输出。

    Sun Dec 28 00:00:00 IST 2014
28-Dec-2014
Date generated by getFormattedDate 2015-12-28 12:00:00

有人可以建议为什么它会在明年12月27日之前返回日期吗?

0 个答案:

没有答案