網上好多解決方法說:連接數據庫時,將serverTimezone值改為CTT(url: jdbc:mysql://127.0.0.1:3306/xxx?serverTimezone=CTT)
解決了相差8小時的問題,但是不知道為啥差1個月。
1.問題。
輸入:
msql:
2.測試:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatTest {
public static void main(String args[ ]){
SimpleDateFormat dataformatter = new SimpleDateFormat( "yyyy-MM-dd");
String d1="2020-04-27";
String d2="2020-05-27";
String d3="2020-06-27";
try {
Date date1 =dataformatter.parse(d1);
Date date2 =dataformatter.parse(d2);
Date date3 =dataformatter.parse(d3);
System.out.println("date1:"+date1);
System.out.println("date2:"+date2);
System.out.println("date3:"+date3);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
輸出結果:
發現都是1月。。。。。。。。。。
最后發現:yyyy-mm-dd的M應該大寫。(將yyyy-mm-dd改為yyyy-MM-dd后正確)