Java および MySQL での時間またはタイムゾーンを使用しない日付の処理
バックグラウンド
を使用しない日付の保存時間コンポーネントは、特に異なるタイムゾーンを移動する場合に困難になる可能性があります。この記事では、Java と MySQL を使用してこの問題に対処します。
java.time
Java SE 8 での JSR-310 の導入により、最新の日付/時刻 API が導入されました。 LocalDate は、具体的には時間情報のない日付を表します。 Oracle チュートリアルで説明されているように、これは、タイムゾーン間で同じままである誕生日などの日付を表すのに最適です。
データベース タイプ マッピング
LocalDate は、ANSI SQL にマップされます。 「日付」と入力します。たとえば、MySQL テーブルの列を DATE として宣言して、時間やタイムゾーンなしで日付を保存できます。
Java の処理
Java では、LocalDate を使用できます。日付を解析して保存するクラス。例:
LocalDate birthday = LocalDate.parse("1980-01-01");
LocalDate オブジェクトはタイムゾーンに依存しません。つまり、JVM のタイムゾーンに関係なく同じ日付を表します。
MySQL Storage
DATE カラムを持つ MySQL テーブルに LocalDate を挿入すると、JDBC ドライバーはそれを自動的に適切な SQL 形式 (yyyy-mm-dd)。
結論
Java で LocalDate を使用し、MySQL で DATE を使用すると、時間や時間を気にせずに日付を保存および取得するための洗練されたソリューションが提供されます。タイムゾーン情報。このアプローチにより、異なるタイムゾーン間での一貫性が保証され、複雑な日付の解析と操作が不要になります。
以上がJava と MySQL で時間やタイムゾーン情報のない日付を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。