Java代码中Date类型插入到mysql数据库中数值不一致
Posted 旁光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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后正确)
以上是关于Java代码中Date类型插入到mysql数据库中数值不一致的主要内容,如果未能解决你的问题,请参考以下文章
怎么样将java中的date类型插入到mysql的datetime
JAVA填坑小知识new Date插入mysql数据库时多了一秒
java怎么使用日期格式化将时间插入mysql datetime数据类型中?