ビデオ: ? Campo Fecha de nacimiento y Calcular Edad en nuestra Base de Datos con Access 2024
Javaの組み込み比較演算子を日付とともに使用できないのと同じように、組み込みの数学演算子も使用できません。代わりに、さまざまな
+
および
-
メソッドを使用して、日付の加算および減算を実行し、
〜
メソッドを使用して、 。
日付と時刻の計算を行う際に考慮すべき重要な事実は、Date-Timeオブジェクトが不変であることです。つまり、一度Date-Timeオブジェクトを作成すると、その値を変更することはできません。 Date-Timeオブジェクトで計算を実行すると、結果は新しい値を持つ新しいDate-Timeオブジェクトになります。
<! - 1 - >
+ および
- メソッドを使用すると、日付 - 時刻オブジェクトにさまざまな日付と時間単位を追加できます。
LocalDate
クラスにはそれぞれ4つのバリエーションがあり、
LocalDate
オブジェクトに年、月、週、日を追加または減算できます。次のコードは、現在の日付、明日の日付、および1週間後、1ヶ月後、1年後の日付を出力します。
System。でる。 println( "Today:" + LocalDate。now());
<! - 2 - >
システム。でる。 println( "Tomorrow:" + LocalDate。now()。plusDays(1));
システム。でる。 println( "次の月:" + LocalDate。now()。plusMonths(1));
システム。でる。 println( "来年:" + LocalDate。now().Years(1));
2つの日付の違いを調べるには、
まで
メソッドを使用します。第1パラメータとして渡された日付と日付との差を、第2パラメータで示される単位で測定します。たとえば、次のコードは、2014年5月16日から2014年12月15日までの日数を決定します。
<! - 3 - >
LocalDate date1 = LocalDate。解析( "2014-05-16");
システム。でる。 println(date1。until(date2、ChronoUnit。DAYS));
日付計算の中にはもう少し複雑なものもあります。たとえば、毎月15日に請求書を作成するビジネスを考えてみましょう。次のコードスニペットは、現在の日付から次の請求書発行日までの日数を表示します。
LocalDate today = LocalDate。今();
LocalDate invDate = LocalDate。今日はgetYear()、
今日はgetMonthValue()、15)。
if(today。getDayOfMonth()> 15)
invDate = invDate。プラスモンス(1);
long daysToInvoice =今日。まで(invDate、
ChronoUnit。日);
システム。でる。次の請求書日付までにprintln(daysToInvoice
+ "");
この例は、最初に現在の日付を取得し、現在の月の15日を表す新しい
LocalDate
オブジェクトを作成することによって機能します。次に、その月の現在の日が15より大きい場合、請求書発行日に1月が追加されます。つまり、16日以降の場合、この月ではなく
月の15日に請求が行われます。次に
まで メソッドを使用して、現在の日付と次の請求書発行日の間の日数を決定します。 ChronoUnit
は、日付と時刻の計算で使用できるさまざまな時間単位を定義する列挙です。可能な値は次のとおりです:
CENTURIES
日
年数
ERAS
永続的
半減期
時間
MICROS
MILLENNIA
MILLIS
これらのほとんどは自明であるが、そのうち2つは少し独特である:
ERA
は、日付はCommon Era(CE、ADとも呼ばれます)またはBefore Era(BCE、BCとも呼ばれます)を指します。
FOREVER
は、期間として表すことができる最大値を表します。悲しいことに、Javaは永遠に生きることはできません。次のコードは例外をスローします:
LocalDate birthday = LocalDate。解析する( "1959-05-16);
誕生日=誕生日。プラス(1、ChronoUnit。FOREVER);
ChronoUni
は
Javaにあります。時間。
-
ChronoUnit
: -
import javaを使用するプログラムの先頭に次の文を含めてください。時間。時間的。 *;