Date sınıfı, milisaniye hassasiyetiyle belirli bir anı temsil eder. Java.util paketinin Date sınıfı, Serileştirilebilir, Klonlanabilir ve Karşılaştırılabilir arabirimi uygular. Java ile tarih ve saatle başa çıkmak için kurucular ve yöntemler sağlar.
Aşağıda, java’daki tarihleri karşılaştırmak için metotlar verilmiştir.
Date.compareTo() Kullanımı:
- SimpleDateFormat sınıfı için onu yyyy-aa-gg biçimiyle başlatan bir nesne oluşturun.
- Yukarıdaki nesneleri kullanarak tarih değişkenlerini başlatın.
- Tarih karşılaştırmaları için tarih sınıfının CompareTo() işlevini kullanın
- Sonucu yazdırın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat; class Main { public static void main(String[] args) { Date d1,d2; String pattern = "yyyy-MM-dd"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern); try{ d1 = simpleDateFormat.parse("2018-09-09"); d2 = simpleDateFormat.parse("2013-05-25"); // compareTo() ile tarihleri karşılaştırma if (d1.compareTo(d2) > 0) { // d1 > d2 ise çalıştır System.out.println("Tarih 1 büyüktür Tarih 2"); } else if (d1.compareTo(d2) < 0) { // d1 < d2 ise çalışır. System.out.println("Tarih 1 küçüktür Tarih 2"); } else if (d1.compareTo(d2) == 0) { // iki tarih eşitse çalışır. System.out.println("Tarih 1 ile Tarih 2 eşittir."); } }catch(Exception e) { } } } |
Date.before (), Date.after () ve Date.equals () Kullanımı
Bu yöntem ilkinden daha basittir.
- SimpleDateFormat sınıfı için onu yyyy-aa-gg biçimiyle başlatan bir nesne oluşturun.
- Yukarıdaki nesneleri kullanarak tarih değişkenlerini başlatın.
- Tarih karşılaştırmaları için tarih sınıfının after() ve before() işlevlerini kullanın
- Sonucu yazdırın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat; //tasarimkodlama.com class Main { public static void main(String[] args) throws ParseException { Date d1,d2; String pattern = "yyyy-MM-dd"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern); d1 = simpleDateFormat.parse("2018-09-09"); d2 = simpleDateFormat.parse("2013-05-25"); //Tarihileri yazdırma System.out.println("Tarih 1 : " + simpleDateFormat.format(d1)); System.out.println("Tarih 2 : " + simpleDateFormat.format(d2)); //Tarih karşılaştırma if (d1.after(d2)) { // d1>d2 System.out.println("Tarih 1, Tarih 2den büyüktür."); } else if (d1.before(d2)) { // d1<d2 System.out.println("Tarih 1, Tarih 2den küçüktür."); } else if (d1.equals(d2)) { // d1==d2 System.out.println("Tarih1 ile Tarih 2 eşittir."); } } } |
Çıktı:
1 2 3 4 5 | Tarih 1 : 2018-09-09 Tarih 2 : 2013-05-25 Tarih 1, Tarih 2den büyüktür. |
Calender.before(), Calender.after() ve Calender.equals() kullanımı
- SimpleDateFormat sınıfı için onu yyyy-aa-gg biçimiyle başlatan bir nesne oluşturun.
- Yukarıdaki nesneleri kullanarak tarih değişkenlerini başlatın.
- Getinstance() işlevlerini kullanarak Calendar sınıfı nesnelerini başlatın.
- Takvim sınıfının setTime() işlevini kullanarak, değerleri takvim nesnelerine atayın.
- Tarih karşılaştırmaları için Calender sınıfının after() ve before() işlevlerini kullanın
- Sonucu yazdırın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; //tasarimkodlama.com class Main { public static void main(String[] args) throws ParseException { Date d1,d2; String pattern = "yyyy-MM-dd"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern); d1 = simpleDateFormat.parse("2018-09-09"); d2 = simpleDateFormat.parse("2013-05-25"); //Tarihileri yazdırma System.out.println("Tarih 1 : " + simpleDateFormat.format(d1)); System.out.println("Tarih 2 : " + simpleDateFormat.format(d2)); // Calendar nesnesi oluşturma Calendar calen1 = Calendar.getInstance(); Calendar calen2 = Calendar.getInstance(); calen1.setTime(d1); calen2.setTime(d2); // Tarihleri karşılaştırma if (calen1.after(calen2)) { // Date d1 > Date d2 System.out.println("Tarih 1 büyüktür."); } else if (calen1.before(calen2)) { // Date d1 < Date d2 System.out.println("Tarih 1 küçüktür."); } else if (calen1.equals(calen2)) { // Date d1 = Date d2 System.out.println("İki tarih eşittir."); } } } |
Çıktı:
1 2 3 4 5 | Tarih 1 : 2018-09-09 Tarih 2 : 2013-05-25 Tarih 1 büyüktür. |
Java 8’i kullanma isBefore(), isAfter(), isEqual() ve CompareTo() Metotları
Java 8’de isBefore(), isAfter(), isEqual() ve CompareTo() LocalDate, LocalTime ve LocalDateTime’ı karşılaştırmak için kullanılır.
- LocalDate sınıfının nesnelerini oluşturun.
- Tarihleri karşılaştırmak için tarih sınıfının isAfter (), isBefore () ve isEqual () işlevlerini kullanın.
- Sonucu yazdırın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import java.time.LocalDate; //tasarimkodlama.com class Main { public static void main(String[] args) { // LocalDate nesneleri LocalDate d1 = LocalDate.of(2016, 12, 15); LocalDate d2 = LocalDate.of(2017, 01, 15); // Tarihleri yazdırma System.out.println("Date1: " + d1); System.out.println("Date2: " + d2); // Karşılaştırma if (d1.isAfter(d2)) { // Date d1 > Date d2 System.out.println("Tarih 1 büyüktür."); } else if (d1.isBefore(d2)) { // Date d1 < Date d2 System.out.println("Tarih 1 küçüktür."); } else if (d1.isEqual(d2)) { // Date d1 = Date d2 System.out.println("İki tarih eşittir."); } } } |
Çıktı:
1 2 3 4 5 | Date1: 2016-12-15 Date2: 2017-01-15 Tarih 1 küçüktür. |
Yorum Yap