为什么将java.util.Date转换为java.sql.Date会导致日期不准确?
P粉883278265
P粉883278265 2023-09-01 09:05:06
0
1
281
<p>我正在将java.util.Date转换为java.sql.date以便将出生日期插入到mysql数据库中。</p> <p>但是,输入<code>2001-04-03</code>总是导致<code>java.sql.Date</code>为<code>2000-12-31</code></p> <pre class="brush:java;toolbar:false;">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()); </pre> <p>输入:2001-04-03</p> <p>输出:2000-12-31</p> <p>期望:2001-04-03</p>
P粉883278265
P粉883278265

모든 응답(1)
P粉237689596

您的格式字符串不正确。

请查看 SimpleDateFormat 的文档:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html

  • 大写字母 Y:表示周年的模式字母
  • 大写字母 M:表示年中的月份的模式字母(正确)
  • 大写字母 D:表示年中的天数的模式字母

您应该使用小写字母 y 和小写字母 d

  • 小写字母 y:表示年份的模式字母
  • 小写字母 d:表示月中的天数的模式字母

我认为您的转换应该使用以下模式:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!