Java 8は、LocalDateおよびLocalTimeインターフェイスを追加しました。日付と時間を処理する新しいAPIのセットを開発する必要があるのはなぜですか?古いjava.util.dateを使用するのは本当に難しいからです。
java.util.date月は0から始まり、1月は0、12月は11、異常です! Java.time.localdateは数ヶ月と週の両方で列挙に変更されているため、誤って使用することは不可能です。
Java.util.dateもSimpledateFormatterもスレッドセーフではありませんが、LocalDateやLocalTimeは最も基本的な文字列と同じであり、スレッドセーフだけでなく、変更することもできません。
Java.util.dateは、日付、時間、およびミリ秒を含む「ユニバーサルインターフェイス」です。 java.util.dateを使用して日付を保存するか、保存時間のみを保存する場合、データのどの部分が役立ち、データのどの部分が役に立たないかがわかります。新しいJava 8では、日付と時刻は明らかにLocalDateとLocalTimeに分かれています。 LocalDateは時間を含めることができず、LocalTimeには日付が含まれていません。もちろん、LocalDateTimeには日付と時刻の両方を含めることができます。
新しいインターフェイスが優れている理由は、日付と時刻の操作を考慮し、数日間前方または後方に押し込むときに発生することが多いためです。 java.util.dateをカレンダーで使用するには、多くのコードを記述する必要があり、通常の開発者が正しく記述できない場合があります。
ローカルデート
新しいローカルデートの使用方法を見てみましょう。
//現在の日付を取得:LocalDate Today = localdate.now(); //-> 2014-12-24 //日、月、日に従って日付を取得します。12月は12です。 //-> 2014-12-25 //文字列に従って現在の日付を取得します:localdate endoffeb = localdate.parse( "2014-02-28"); // Strictly Beyify Iso Yyyy-Mm-DDに従って、02は2として記述することは許可されていません。もちろん、自分自身の形式を定義できる過負荷方法もあります
localdate.parse( "2014-02-29"); //無効な日付を渡すことはできません:dateTimeparseexception:無効な日付
日付変換はしばしば遭遇します。
//今月の最初の日を取ります:localdate firstday of ofthismonth = today.wooth(the theparaladjusters.firstdayofmonth()); // 2014-12-01 //今月の2日目をご覧ください。 // 2014-12-02 //今月の最終日を取ると、28、29、30、または31であるかどうかを計算する必要がなくなります。 // 2014-12-31 //翌日に服用:LocalDate FirstDayof2015 = lastDayofthismonth.plusdays(1); //それは2015-01-01になります// 2015-01-05
LocalTime
LocalTimeには時間のみが含まれています。 java.util.dateで時間のみを代表するにはどうすればよいですか?答えは、日付を無視するふりです。
LocalTimeにはミリ秒が含まれています。
localtime now = localtime.now(); // 11:09:09.240
ミリ秒をクリアしたいと思うかもしれません。
localtime now = localtime.now()。withnano(0)); // 11:09:09
建設時間も非常に単純です。
localtime zero = localtime.of(0、0、0); // 00:00:00
localtime mid = localtime.parse( "12:00:00"); // 12:00:00
時間もISO形式で認識されますが、次の3つの形式を識別できます。
•12:00
•12:01:02
•12:01:02.345
JDBC
最新のJDBCマッピングでは、データベースの日付タイプを新しいタイプのJava 8に関連付けます。
SQL-> Java
-------------------------------------------
日付 - > localdate
時間 - > localtime
タイムスタンプ - > localDateTime
日付または時刻の一部がjava.util.dateにマッピングされている場合、日付または時刻の一部が0であるケースはこれ以上ありません。
上記は、編集者が紹介したJava 8の日付と時間を処理する方法です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!