ホームページ > データベース > 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
リリース: 2025-01-12 07:56:44
オリジナル
254 人が閲覧しました

How to Convert

「EEE MMM dd HH:mm:ss ZZZ yyyy」の日付を MySQL の 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート