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数据类型中?

java向mysql插入时间,时间日期格式化

Java中为啥将java.util.Date类型的变量已转换为java.sql.Date,进行插入操作时仍报错?

Codeigniter 将部分 CSV 数据插入到 MYSQL 中,只有 id 和 date