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