SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd");
date1 = dateFormat.format(new Date(date));
System.out.println(date+" "+date1);
我的输入是date = 30-Dec-2019
,预期的输出是2019-12-30
我得到的输出是2020-12-30
请勿使用过时的日期/时间API。使用现代的日期/时间API进行操作,如下所示:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) throws Exception {
DateTimeFormatter inputFormat = DateTimeFormatter.ofPattern("dd-MMM-yyyy");
DateTimeFormatter outputFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String strDate = "30-Dec-2019";
LocalDate date = LocalDate.parse(strDate, inputFormat);
System.out.println(outputFormat.format(date));
}
}
输出:
2019-12-30
选中this,以了解过时的日期/时间API的缺点以及现代日期/时间API的优点。