Java Tarihi & Saat: SimpleDateFormat, Geçerli Tarih & Karşılaştırmak

İçindekiler:

Anonim

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