我正在将java.util.Date转换为java.sql.date以便将出生日期插入到mysql数据库中。
但是,输入2001-04-03总是导致java.sql.Date为2000-12-31
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter dob(YYYY-MM-DD) :");
String date = br.readLine();
SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-DD");
java.util.Date util_dob = dateFormat.parse(date);
java.sql.Date dob = new java.sql.Date(util_dob.getTime());
输入:2001-04-03
输出:2000-12-31
期望:2001-04-03
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
您的格式字符串不正确。
请查看
SimpleDateFormat的文档:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html您应该使用小写字母 y 和小写字母 d。
我认为您的转换应该使用以下模式:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");