我跑了下面的代碼,並得到模棱兩可的結果:的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.感謝您的幫助:) –