Java代码中Date类型插入到mysql数据库中数值不一致

  网上好多解决方法说:连接数据库时,将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后正确)

原文地址:https://www.cnblogs.com/ssyh/p/12309788.html