Bu eğitimde öğreneceksiniz -
- Java'da Güncel Tarihi Göster
- SimpleDateFormat: Tarihleri Ayrıştırma ve Biçimlendirme
- Tarihleri Karşılaştır Örneği
Önce bir Tarih içeren parametreleri anlayalım .
Öncelikle şunları içerecektir -
- Yıl (2 veya 4 dijit)
- Ay (ya da 2 dijit, ilk 3 ay harf veya ayın tüm kelime).
- Tarih (o ayın fiili tarihi olacaktır).
- Gün (- vs. Sun, Mon, Sa, gibi verilen tarihte gün)
Bilgisayar sistemleriyle ilgili olarak, bir tarihle ilişkilendirmek için kullanılabilecek oldukça fazla parametre vardır. Onları bu konunun ilerleyen kısımlarında göreceğiz.
Java'da Tarihi Görüntüle
Şimdi Java'nın bize Tarihi nasıl sağladığını görelim. Önce, şu anki tarihi nasıl alacağımızı göreceğiz.
Java, java.util paketi altında bir Date sınıfı sağlar. Paket, tarihle oynamak için birkaç yöntem sağlar.
Date sınıfının yapıcısını aşağıdaki gibi çağırarak Date nesnesini kullanabilirsiniz:
import java.util.Date;class Date_Ex1 {public static void main(String args[]) {// Instantiate a Date object by invoking its constructorDate objDate = new Date();// Display the Date & Time using toString()System.out.println(objDate.toString());}}
Çıktı:
Wed Nov 29 06:36:22 UTC 2017
Varsayılan formatta gösterilen yukarıdaki örnekte tarih, Tarih ve saati başka bir formatta göstermek istiyorsak, önce tarihin formatını anlayın.
SimpleDateFormat: Tarihleri Ayrıştırma ve Biçimlendirme
Hepiniz anaokulunuzdaki alfabeleri öğrenmiş olmalısınız.
….Şimdi tarih formatının ABC'sini öğrenelim.
Mektup | Tarih veya Saat Bileşeni | Örnekler |
---|---|---|
G | Çağ belirleyici | AD |
y | Yıl | 2018 |
M | Yıldaki ay | Temmuz veya Temmuz veya 07 |
w | Yıldaki hafta | 27 |
W | Aydaki hafta | 2 |
D | Yıldaki gün | 189 |
d | Aydaki gün | 10 |
F | Ay içinde haftanın günü | 2 |
E | Haftadaki gün adı | Salı veya Salı |
sen | Haftanın gün sayısı (1 = Pazartesi,…, 7 = Pazar) | 1 |
a | ÖÖ / ÖS işaretçisi | ÖS |
H | Gün içindeki saat (0-23) | 0 |
k | Gün içindeki saat (1-24) | 24 |
K | Am / pm cinsinden saat (0-11) | 0 |
h | Am / pm cinsinden saat (1-12) | 12 |
m | Saat cinsinden dakika | 30 |
s | Dakikada ikinci | 55 |
S | Milisaniye | 978 |
z | Saat dilimi | Pasifik Standart Saati; PASİFİK ZAMAN DİLİMİ; GMT-08: 00 |
Z | Saat dilimi | -0800 |
X | Saat dilimi | -08 veya -0800 veya -08: 00 |
Endişelenmeyin, bunların hepsini hatırlamanıza gerek yok, belirli bir tarihi biçimlendirmeniz gerektiğinde her an yönlendirilebilirler.
SimpleDateFormat nasıl kullanılır?
Java, tarihleri gereksinimlerinize göre biçimlendirmenize ve ayrıştırmanıza olanak tanıyan SimpleDateFormat adlı bir sınıf sağlar.
Formatı belirtmek için yukarıdaki karakterleri kullanabilirsiniz - Örneğin:
1) Gereken tarih biçimi: 2012.10.23 20:20:45 PST
Belirtilen uygun tarih formatı be- yyyy.MM.dd HH: mm: ss zzz olacaktır.
2) Gereken tarih biçimi: 09:30:00 23 Mayıs 2012
Belirtilen uygun tarih biçimi şöyle olacaktır : ss: dd: ss a gg-MMM-yyyy
İpucu: Büyük harf kullanımına dikkat edin. M'yi m ile karıştırırsanız, istenmeyen sonuçlar elde edersiniz!
Bunu bir kod örneği ile öğrenelim.
import java.text.SimpleDateFormat;import java.util.Date;class TestDates_Format {public static void main(String args[]) {Date objDate = new Date(); // Current System Date and time is assigned to objDateSystem.out.println(objDate);String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is SpecifiedSimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format objectSystem.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date}}
Çıktı:
Wed Nov 29 06:31:41 UTC 201706:31:41 AM 29-Nov-2017
Tarihleri Karşılaştır Örneği
Tarihleri karşılaştırmanın en kullanışlı yöntemi - ComparTo () yöntemini kullanmaktır.
Aşağıdaki kod parçasına bir göz atalım-
import java.text.SimpleDateFormat;import java.text.ParseException;import java.util.Date;class TestDates_Compare {public static void main(String args[]) throws ParseException {SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy");Date dt_1 = objSDF.parse("20-08-1981");Date dt_2 = objSDF.parse("12-10-2012");System.out.println("Date1 : " + objSDF.format(dt_1));System.out.println("Date2 : " + objSDF.format(dt_2));if (dt_1.compareTo(dt_2)> 0) {System.out.println("Date 1 occurs after Date 2");} // compareTo method returns the value greater than 0 if this Date is after the Date argument.else if (dt_1.compareTo(dt_2) < 0) {System.out.println("Date 1 occurs before Date 2");} // compareTo method returns the value less than 0 if this Date is before the Date argument;else if (dt_1.compareTo(dt_2) == 0) {System.out.println("Both are same dates");} // compareTo method returns the value 0 if the argument Date is equal to the second Date;else {System.out.println("You seem to be a time traveller !!");}}}Çıktı:
Date1 : 20-08-1981Date2 : 12-10-2012Date 1 occurs before Date 2