Java'da İki Tarihi Karşılaştırmanın 4 Yolu

İçindekiler:

Java'da İki Tarihi Karşılaştırmanın 4 Yolu
Java'da İki Tarihi Karşılaştırmanın 4 Yolu

Video: Java'da İki Tarihi Karşılaştırmanın 4 Yolu

Video: Java'da İki Tarihi Karşılaştırmanın 4 Yolu
Video: Inkscape - Fotoğraf Kırpma 2024, Nisan
Anonim

Java tarihlerini karşılaştırmanın çeşitli yolları vardır. Dahili olarak, bir tarih zaman içinde (uzun) bir nokta olarak temsil edilir - 1 Ocak 1970'den bu yana geçen milisaniye sayısı. Java'da Date bir nesnedir, yani karşılaştırma için birden çok yöntem içerir. İki tarihi karşılaştırmanın herhangi bir yöntemi, esasen tarihlerin zamanlarını karşılaştıracaktır.

adımlar

Yöntem 1/4: karşılaştırmayı kullanma

4301351 1
4301351 1

Adım 1. CompareTo'yu kullanın

Date, Comparable öğesini uygular ve bu nedenle iki tarih, doğrudan karşılaştırma yöntemiyle karşılaştırılabilir. Tarihler zaman içinde aynı nokta içinse, yöntem sıfır döndürür. Karşılaştırılan tarih, tarih bağımsız değişkeninden önceyse, sıfırdan küçük bir değer döndürülür. Karşılaştırılan tarih, tarih bağımsız değişkeninden sonraysa, sıfırdan büyük bir değer döndürülür. Tarihler eşitse, 0 değeri döndürülür.

4301351 2
4301351 2

Adım 2. Tarih nesnelerini oluşturun

Karşılaştırmaya başlamadan önce her bir tarih nesnesini oluşturmanız gerekecektir. Bunu yapmanın bir yolu SimpleDateFormat sınıfını kullanmaktır. Tarih değerlerinin tarih nesnelerine kolayca girilmesini sağlar.

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-AA-gg"); //Yeni tarih nesnelerinde değerleri bildirmek için. tarih oluştururken aynı tarih biçimini kullanın Date date1 = sdf.parse("1995-02-23"); //tarih1 23 Şubat 1995 Tarih tarih2 = sdf.parse("2001-10-31"); //date2, 31 Ekim 2001'dir Date date3 = sdf.parse("1995-02-23"); //date3, 23 Şubat 1995

4301351 3
4301351 3

Adım 3. Tarih nesnelerini karşılaştırın

Aşağıdaki kod size her durumu gösterecektir - küçüktür, eşittir ve büyüktür.

    tarih1.karşılaştır(tarih2); //tarih1 < tarih2, 0'dan küçük döndürür date2.compareTo(date1); //date2 > date1, 0'dan büyük döndürür date1.compareTo(date3); //date1 = date3, yani konsola 0 yazdıracak

Yöntem 2/4: Eşittir, Sonrası ve Öncesi Kullanma

4301351 4
4301351 4

Adım 1. Eşittir, sonra ve önce kullanın

Tarihler, yöntemlerden sonra ve önceki eşittir ile karşılaştırılabilir. İki tarih zaman içinde aynı nokta içinse, eşittir yöntemi true değerini döndürür. Örnekler, karşılaştırma yönteminden önceden oluşturulmuş tarihleri kullanacaktır.

4301351 5
4301351 5

Adım 2. Before yöntemini kullanarak karşılaştırın

Aşağıdaki kod doğru ve yanlış bir durumu gösterir. tarih1 tarih2'den önceyse, önce true değerini döndürür. Değilse, önce false döndürür.

    System.out.print(tarih1.önce(tarih2)); // true System.out.print(date2.before(date2)) yazdırır; //yanlış yazdırır

4301351 6
4301351 6

Adım 3. After yöntemini kullanarak karşılaştırın

Aşağıdaki kod doğru ve yanlış bir durumu gösterir. tarih2, tarih1'den sonraysa, after true döndürür. Değilse, false döndürür.

    System.out.print(date2.after(date1));//doğru yazdırır System.out.print(tarih1.sonra(tarih2));//yanlış yazdırır

4301351 7
4301351 7

Adım 4. Eşittir yöntemini kullanarak karşılaştırın

Aşağıdaki kod doğru ve yanlış bir durumu gösterir. Tarihler eşitse, eşittir true döndürür. Değillerse, eşittir false döndürür.

    System.out.print(date1.equals(date3));//doğru yazdırır System.out.print(tarih1.equals(tarih2));//yanlış yazdırır

Yöntem 3/4: Takvim Sınıfını Kullanma

4301351 8
4301351 8

Adım 1. Takvimi kullanın

Calendar sınıfında ayrıca, date sınıfı için yukarıda açıklananla aynı şekilde çalışan karşılaştırma, eşittir, sonrası ve öncesi yöntemleri vardır. Yani tarih bilgisi bir takvimde tutuluyorsa, sadece karşılaştırma yapmak için tarihi çıkarmaya gerek yoktur.

4301351 9
4301351 9

Adım 2. Takvim örneklerini oluşturun

Takvim yöntemlerini kullanmak için birkaç Takvim örneğine ihtiyacınız olacak. Neyse ki, önceden oluşturulmuş Date örneklerinden zamanları alabilirsiniz.

    Takvim cal1 = Calendar.getInstance(); //cal1 bildiriyor Calendar cal2 = Calendar.getInstance(); //cal2 bildiriyor Calendar cal3 = Calendar.getInstance(); //cal3 cal1.setTime(date1) bildirir; //tarihi cal1'e uygular cal2.setTime(date2); cal3.setTime(tarih3);

4301351 10
4301351 10

Adım 3. Daha önce kullanarak cal1 ve cal2'yi karşılaştırın

cal1 cal2'den önce olduğu için aşağıdaki kod doğru yazdırılmalıdır.

    System.out.print(cal1.before(cal2)); // true yazdıracak

4301351 11
4301351 11

Adım 4. after kullanarak cal1 ve cal2'yi karşılaştırın

cal1 cal2'den önce olduğu için aşağıdaki kod false yazmalıdır.

    System.out.print(cal1.after(cal2)); //yanlış yazdırır

4301351 12
4301351 12

Adım 5. Eşitleri kullanarak cal1 ve cal2'yi karşılaştırın

Aşağıdaki kod, hem doğru hem de yanlış bir durumun bir örneğini gösterecektir. Koşul, karşılaştırılmakta olan takvim örneklerine bağlıdır. Kod, bir sonraki satırda "doğru", ardından "yanlış" yazmalıdır.

    System.out.println(cal1.equals(cal3)); //doğru yazdırır: cal1 == cal3 System.out.print(cal1.equals(cal2)); //yanlış yazdırır: cal1 != cal2

Yöntem 4/4: getTime'ı kullanma

4301351 13
4301351 13

Adım 1. getTime'ı kullanın

Önceki yaklaşımlardan herhangi birinin daha okunabilir ve bu nedenle tercih edilebilir olmasına rağmen, iki tarihin zaman noktasını doğrudan karşılaştırmak da mümkündür. Bu, iki ilkel veri türünün karşılaştırması olacaktır, bu nedenle "" ve "==" ile yapılabilir.

4301351 14
4301351 14

Adım 2. Uzun süreli nesneleri oluşturun

Tarihleri karşılaştırmadan önce, önceden oluşturulmuş Date nesnelerinden gelen verilerle uzun tamsayılar oluşturmalısınız. Neyse ki, işin çoğunu getTime() yöntemi sizin için yapacak.

    uzun zaman1 = getTime(tarih1); //tarih1'den ilkel zaman1'i bildirir uzun zaman2 = getTime(tarih2); // tarih2'den ilkel zaman2'yi bildirir

4301351 15
4301351 15

Adım 3. Karşılaştırmadan daha azını yapın

Bu iki tamsayı değerini karşılaştırmak için daha az sembolünü (<) kullanın. Zaman1 zaman 2'den küçük olduğu için ilk mesajın yazdırılması gerekir. Else ifadesi, uygun sözdizimi için dahil edilmiştir.

    if(time1 < time2){ System.out.println("tarih1 tarih2'den öncedir"); //zaman1'den beri yazdırılacak <time2 } else{ System.out.println("tarih1 tarih2'den önce değil"); }

4301351 16
4301351 16

Adım 4. Karşılaştırmadan daha fazlasını yapın

Bu iki tamsayı değerini karşılaştırmak için büyüktür sembolünü (>) kullanın. Zaman1 zaman 2'den büyük olduğundan, ilk mesaj yazdırılmalıdır. Else ifadesi, uygun sözdizimi için dahil edilmiştir.

    if(time2 > time1){ System.out.println("tarih2, tarih1'den sonra"); //zaman2 > zaman1'den beri yazdırılacaktır } else{ System.out.println("tarih2, tarih1'den sonra değil"); }

4301351 17
4301351 17

Adım 5. Bir eşittir karşılaştırması yapın

Eşitlik için bu iki tamsayı değerini karşılaştırmak için eşitliği kontrol etmek için (==) simgesini kullanın. time1 time3'e eşit olduğundan, ilk mesajın yazdırılması gerekir. Program else ifadesine ulaşırsa, bu, zamanların eşit olmadığı anlamına gelir.

    if(time1 == time2){ System.out.println("tarihler eşittir"); } else{ System.out.println("tarihler eşit değil"); //zaman1'den beri yazdırılacak!=zaman2 }

Önerilen: