我跑了下面的代码,并得到模棱两可的结果:的SimpleDateFormat返回不正确的日期
import java.text.SimpleDateFormat;
import java.util.Date;
import java.text.DateFormat;
import java.text.ParseException;
public class Test
{
public static void main(String[] args)
{
DateFormat format = new SimpleDateFormat("yyyyMMdd");
DateFormat secFormat = new SimpleDateFormat("ddMMYYYY");
String date = "20171231";
try {
Date newDate = format.parse(date);
System.out.println("Normal: "+newDate);
System.out.println("Actual:
"+secFormat.format(newDate));
} catch (ParseException ex) {
System.out.println("Exception");
}
}
}
上述结果我是如下: 正常:太阳12月31日00:00:00 UTC 2017年 实际:31122018
当值为31122017时,返回31122018.任何人都可以帮助我获得正确的结果,因为它是我项目中的一项要求。
'YYYY'是不一样'yyyy'。请参阅[Java字符串到日期转换](https://stackoverflow.com/q/4216745/5221149)。 – Andreas
与ddMMyyyy也得到了31122018而不是31122017,但是当我用ddMMyyy尝试时,我能够得到31122017.感谢您的帮助:) –