Bu yazıda;
- Java’da Geçerli Tarihi Gösterme
- SimpleDateFormat: Tarihleri Ayrıştırma ve Biçimlendirme
- Tarihleri Karşılaştırma
işlemlerinin nasıl yapıldığını öğreneceksiniz.
Önce bir Date nesnesindeki parametreleri anlayalım.
Yıl (2 veya 4 haneli)
Ay (2 hanede, ayın ilk 3 harfi veya ayın tamamı).
Tarih (ayın gerçek tarihi olacaktır).
Gün (belirli bir gündeki gün – Güneş, Pzt, Sal, vb.)
Bilgisayar sistemleriyle ilgili olarak, bir tarihle ilişkilendirmek için kullanılabilecek pek çok parametre vardır. Onları bu konunun ilerleyen bölümlerinde göreceğiz.
Java’da Tarihi Göster
Şimdi Java’nın bize Tarihi nasıl verdiğini görelim. İlk önce güncel tarihin nasıl alınacağını göreceğiz.
Java, java.util paketinin altında bir Date sınıfı sağlar; Paket, tarihle oynamak için çeşitli yöntemler sunar.
Date sınıfının yapıcısını şu şekilde çalıştırarak Date nesnesini kullanabilirsiniz:
1 2 3 4 5 6 7 | // Date objesi örneği oluştur Date objDate = new Date(); // Tarih ve saati ekrana yazdır System.out.println(objDate.toString()); |
Yukarıdaki örnekte varsayılan formatta gösterilen tarihte, Tarih ve saati başka bir formatta göstermek istiyorsak, önce Tarihin formatını anlayın.
SimpleDateFormat: Java’da Tarihleri Ayrıştırma ve Biçimlendirme
Hepiniz alfabeleri öğrenmiş olmalısınız…. Şimdi tarih biçimindeki ABC’leri öğrenelim.
Harf | Tarih veya Saat Bileşeni | Örnekler |
---|---|---|
G | Çağ göstergesi | MS |
y | Yıl | 2018 |
M | Yılın Ayı | 07 |
w | Yılın Haftası | 27 |
W | Ayın Haftası | 2 |
D | Yılın Günü | 189 |
d | Ayın Günü | 10 |
F | Ayın içindeki haftanın günü | 2 |
E | Haftanın günü | Pazar yada Paz |
u | Haftanın günü sayısı (1 = Pazartesi, …, 7 = Pazar) | 1 |
a | Am/pm işareti | PM |
H | Günün Saatleri (0-23) | 0 |
k | Günün Saatleri (1-24) | 24 |
K | am/pm (0-11) | 0 |
h | am/pm (1-12) | 12 |
m | Saat içindeki dakikalar | 30 |
s | Dakika içindeki Saniyeler | 55 |
S | Mili Saniyeler | 978 |
z | Saat dilimi | EET |
Z | Saat dilimi | -0800 |
X | Saat dilimi | -08 or -0800 or -08:00 |
Endişelenmeyin, hepsini hatırlamanıza gerek yok, belirli bir tarihi biçimlendirmek için istediğiniz zaman yönlendirilebilirler.
SimpleDateFormat nasıl kullanılır?
Java, gereksinimlerinize göre tarihleri biçimlendirmenize ve ayrıştırmanıza olanak sağlayan SimpleDateFormat adlı bir sınıf sağlar.
Biçimi belirtmek için yukarıdaki karakterleri kullanabilirsiniz – Örneğin:
1) Gerekli tarih formatı: 2012.10.23 20:20:45 PST
Belirtilen uygun tarih formatı-yyyy.MM.dd HH:mm:ss zzz olacaktır.
2) Gerekli tarih formatı: 09: 30: 00 AM 23-Mayıs-2012
Belirtilen uygun tarih formatı-hh:mm:ss a dd-MMM-yyyy olacaktır.
Bunu bir kod örneği ile öğrenelim.
1 2 3 4 5 6 7 8 | Date objDate = new Date(); //Sistem Tarihi System.out.println(objDate); String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Tarih Biçimlendirme SimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Tarih formatı dizesi, Tarih formatı nesnesine bir argüman olarak iletilir. System.out.println(objSDF.format(objDate)); //Tarih biçimlendirme geçerli tarihe uygulanır |
Java Tarihleri Karşılaştırma Örneği
Tarihleri karşılaştırmanın en kullanışlı yöntemi, yöntemini kullanmaktır – compareTo().
Aşağıdaki kod parçasına bir göz atalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy"); Date dt_1 = objSDF.parse("10-07-1983"); Date dt_2 = objSDF.parse("12-10-2019"); System.out.println("Tarih 1 : " + objSDF.format(dt_1)); System.out.println("Tarih 2 : " + objSDF.format(dt_2)); if (dt_1.compareTo(dt_2) > 0) { System.out.println("Tarih 1, Tarih 2'den sonradır"); } else if (dt_1.compareTo(dt_2) < 0) { System.out.println("Tarih 1, Tarih 2'den öncecir"); } else if (dt_1.compareTo(dt_2) == 0) { System.out.println("İki tarih de aynıdır"); } else { System.out.println("Bir zaman yolcusu gibi görünüyorsun!"); } |
Çıktı:
1 2 3 4 5 | Tarih 1 : 10-07-1983 Tarih 2 : 12-10-2019 Tarih 1, Tarih 2'den öncecir |
Yorum Yap