我使用以下代码将日期值转换为字符串。
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日之前返回日期吗?