Java と MySQL での時間なしの日付の保存と表現
要件は、Java と MySQL の両方で時間やタイムゾーンの情報なしで日付を保存することです。 。これは、タイムゾーンの違いや、時間が指定されていない場合の日付の曖昧さのため、困難になる可能性があります。
Java 解決策: java.time
Java SE 8 では、Java が導入されました。 .time API。日付と時刻を表すためのいくつかのクラスを提供します。この目的には、年、月、日のみを表す LocalDate クラスが適しています。
LocalDate birthday = LocalDate.of(1970, 3, 1); // March 1st, 1970
MySQL ソリューション: DATE
MySQL は DATE を提供します。データ型。時刻やタイムゾーンの情報なしで日付を「YYYY-MM-DD」形式で保存します。これは LocalDate で使用される形式と一致しており、保存と取得が簡素化されます。
CREATE TABLE birthdays ( name VARCHAR(255) NOT NULL, birthday DATE NOT NULL ); INSERT INTO birthdays (name, birthday) VALUES ('John Doe', '1970-03-01');
異なるタイムゾーンの処理
異なるタイムゾーンにまたがる日付を扱う場合、以下を使用することが重要です。一貫した表現。 Java では LocalDate を、MySQL では DATE を使用すると、タイムゾーンに関係なく、日付情報が常に同じ方法で保存され、解釈されるようになります。
結論
Java の LocalDate クラスと MySQL の DATE データ型を利用すると、時間やタイムゾーンの情報なしで日付を効果的に保存および表現できます。このエレガントなソリューションにより、一貫性が確保され、タイムゾーン関連の問題が防止されます。
以上がJava と MySQL で時刻なしで日付を保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。