>데이터 베이스 >MySQL 튜토리얼 >MySQL용 'EEE MMM dd HH:mm:ss ZZZ yyyy' 날짜를 java.sql.Date로 변환하는 방법은 무엇입니까?

MySQL용 'EEE MMM dd HH:mm:ss ZZZ yyyy' 날짜를 java.sql.Date로 변환하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-12 07:56:44258검색

How to Convert

MySQL용 "EEE MMM dd HH:mm:ss ZZZ yyyy" 날짜를 java.sql.Date로 변환

이 가이드에서는 java.sql.Date을 사용하여 "EEE MMM dd HH:mm:ss ZZZ yyyy" 형식의 날짜를 MySQL 데이터베이스에 정확하게 삽입하는 문제를 다룹니다. 일반적인 함정은 명시적 오류가 없음에도 불구하고 잘못된 날짜 값으로 이어지는 방법을 사용하는 것입니다.

권장 솔루션은 강력한 java.time 패키지를 활용합니다:

<code class="language-java">LocalDate date4 = ZonedDateTime
        .parse(date, DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH))
        .toLocalDate();
java.sql.Date date5 = java.sql.Date.valueOf(date4);</code>

이 코드는 날짜 문자열을 효율적으로 구문 분석하여 시간대 정보를 올바르게 처리하고 이를 LocalDate로 변환한 후 최종적으로 데이터베이스 삽입에 적합한 java.sql.Date을 생성합니다.

주요 고려 사항:

  • 로캘 특정성: Locale을 생성할 때 항상 Locale.ENGLISH(여기서는 DateTimeFormatter)을 지정하여 모호성을 피하고 다양한 시스템에서 일관된 구문 분석을 보장하세요.
  • 시간대 정밀도: 모호한 3글자 시간대 약어(예: "EET")를 사용하지 마세요. 신뢰할 수 있는 결과를 얻으려면 전체 시간대 ID 또는 UTC 오프셋을 사용하세요.

또는 SimpleDateFormat을 사용하려는 경우(단, java.time는 일반적으로 명확성과 견고성 때문에 선호됨):

<code class="language-java">SimpleDateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");</code>

형식 패턴("EEE MMM dd HH:mm:ss zzz yyyy" 및 "yyyy-MM-dd")을 입력 및 원하는 출력과 꼼꼼하게 일치시키고 대소문자(정의된 대로)에 세심한 주의를 기울이십시오. SimpleDateFormat 문서에서). 그러나 향상된 오류 처리 및 명확성을 위해 java.time을 사용하는 것이 좋습니다.

위 내용은 MySQL용 'EEE MMM dd HH:mm:ss ZZZ yyyy' 날짜를 java.sql.Date로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.