Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaで日付を比較するさまざまな方法は何ですか?


LocalDateクラスの使用

java.time.LocalDate classはローカルの日付、つまりタイムゾーンのない日付を表します。Dateの代わりにこのオブジェクトを使用できます。このクラスは、isBefore()、isAfter()、isEqual()などのさまざまなメソッドを提供して、2つの日付を比較します-

import java.time.LocalDate;
public class Sample {
   public static void main(String args[]) {  
      LocalDate date1 = LocalDate.of(2007, 11, 25);
      LocalDate date2 = LocalDate.of(1999, 9, 12);      
      Boolean bool1 = date1.isAfter(date2);  
      Boolean bool2 = date1.isBefore(date2);
      Boolean bool3 = date1.isEqual(date2);
      if(bool1){
         System.out.println(date1+" is after "+date2);
      }else if(bool2){
         System.out.println(date1+" is before "+date2);
      }else if(bool3){
          System.out.println(date1+" is equla to "+date2);
      }
   }
}

出力

2007-11-25 is after 1999-09-12

Dateクラスの使用

java.util.Date クラスは特定の瞬間を表しますこのクラスは、before()、after()、equals()などのさまざまなメソッドを提供して2つの日付を比較します-

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Date;
public class Sample {
   public static void main(String args[]) throws ParseException {  
      SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM");      
      //Parsing the given String to Date object
      Date date1 = formatter.parse("2007-11-25");  
      Date date2 = formatter.parse("1999-9-12");      
      Boolean bool1 = date1.after(date2);  
      Boolean bool2 = date1.before(date2);
      Boolean bool3 = date1.equals(date2);
      if(bool1){
         System.out.println(date1+" is after "+date2);
      }else if(bool2){
         System.out.println(date1+" is before "+date2);
      }else if(bool3){
          System.out.println(date1+" is equals to "+date2);
      }
   }
}

出力

Sun Jan 11 00:00:00 IST 2009 is after Thu Dec 09 00:00:00 IST 1999

Calendarクラスの使用

Dateクラスと同様に、Calendarクラスは、before()、after()、equals()などのさまざまなメソッドを提供して2つの日付を比較します-

import java.util.Calendar;
public class Sample {
   public static void main(String args[]) {  
      Calendar obj1 = Calendar.getInstance();
      obj1.set(2007, 11, 25);      
      Calendar obj2 = Calendar.getInstance();
      obj2.set(1999, 9, 15);
      Boolean bool1 = obj1.after(obj2);  
      Boolean bool2 = obj1.before(obj2);
      Boolean bool3 = obj1.equals(obj2);
      if(bool1){
         System.out.println(obj1+" is after "+obj2);
      }else if(bool2){
         System.out.println(obj1+" is before "+obj2);
      }else if(bool3){
          System.out.println(obj1+" is equla to "+obj2);
      }
   }
}

出力

java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Calcutta",offset=19800000,dstSavings=0,useDaylight=false,transitions=7,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2007,MONTH=11,WEEK_OF_YEAR=45,WEEK_OF_MONTH=1,DAY_OF_MONTH=25,DAY_OF_YEAR=312,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=33,SECOND=47,MILLISECOND=366,ZONE_OFFSET=19800000,DST_OFFSET=0] is after java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Calcutta",offset=19800000,dstSavings=0,useDaylight=false,transitions=7,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=1999,MONTH=9,WEEK_OF_YEAR=45,WEEK_OF_MONTH=1,DAY_OF_MONTH=15,DAY_OF_YEAR=312,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=33,SECOND=47,MILLISECOND=392,ZONE_OFFSET=19800000,DST_OFFSET=0]


  1. JavaFXが提供するさまざまな2D形状とは何ですか?

    以下は、JavaFXを使用して描画できるさまざまな幾何学的形状です ライン −線は、2点を結ぶ幾何学的構造です。 javafx.scene.shape 。ライン クラスはXY平面の線を表します。 長方形 −長方形は、すべての内角が直角である2対の平行な同時辺を持つ4辺の多角形です。 javafx.scene.The Rectangle クラスはXY平面の長方形を表します。 サークル −円は閉ループを形成する線であり、すべての点が中心点から一定の距離にあります。 javafx.scene.The Circle クラスはXY平面の円を表します。 楕円

  2. JavaFXのさまざまなパス要素は何ですか?

    javafx.scene.shape パッケージには、さまざまな2D形状を描画できるクラスが用意されていますが、これらは線、円、多角形、楕円などのプリミティブ形状にすぎません。したがって、複雑なカスタム形状を描画する場合は、Pathクラスを使用する必要があります。 パスクラス Pathクラスは、カスタムパスを描画できるこのクラスを使用して、形状の幾何学的な輪郭を表します。 カスタムパスを描画するために、JavaFXはさまざまなパス要素を提供します。これらはすべて javafx.scene.shapeのクラスとして利用できます。 パッケージ。 LineTo −これはパス要素行を表