Java

Java SimpleDateFormat Kullanımı

Java.text.SimpleDateFormat sınıfı, kendi belirlediğiniz bir biçimlendirme modeline göre tarihleri hem ayrıştırmak hem de biçimlendirmek için kullanılır. Tarihleri ayrıştırırken, Java SimpleDateFormat genellikle tarihi bir Java dizesinden ayrıştırır. Tarihleri biçimlendirirken, SimpleDateFormat tipik olarak bir Date nesnesini bir String olarak biçimlendirir, ancak tarihi bir StringBuffer olarak da biçimlendirebilir.

Bu yazı, tarihleri biçimlendirmek için SimpleDateFormat sınıfının nasıl kullanılacağını açıklamaktadır.

SimpleDateFormat Oluşturma

Aşağıdaki şekilde basit bir şekilde SimpleDateFormat nesnesi oluşturulur.

SimpleDateFormat kurucusuna iletilen pattern parametresi, tarihlerin ayrıştırılması ve biçimlendirilmesi için kullanılacak desendir. Pattern söz dizimi bu metnin ilerleyen kısımlarında ele alınacaktır. Pattern sadece normal bir Java dizesidir.

Tarihleri Biçimlendirme

SimpleDateFormat örneğini oluşturduktan sonra, format() yöntemini kullanarak tarihleri formatlayabilirsiniz.
İşte bir örnek:

Format () yöntemine iletilen Date örneği, bir java.util.Date örneğidir.

Yukarıdaki SimpleDateFormat örneğinden yazdırılan çıktı şöyle olacaktır:

Biçimlendirilmiş tarih dizesinin yıl, ardından ay, ardından gün ile nasıl başladığına dikkat edin. Tarih alanlarının sırası, SimpleDateFormat yapıcısına iletilen tarih desenine göre belirlenir. Daha önce bahsedildiği gibi, bu format biraz sonra bu Java SimpleDateFormat eğitiminde açıklanacaktır.

Tarih Ayrıştırma

SimpleDateFormat örneğinin parse() yöntemini kullanarak bir String öğesini java.util.Date örneğine ayrıştırabilirsiniz.
İşte bir örnek:

Çıktı: Program çıktısı çalıştığında aşağıdaki gibi bir tarih biçimi elde etmiş oluruz.

Belirli Bir Yerel Ayar İçin Basit Tarih Biçimi Oluşturma

Belirli bir Java Yerel Ayarını hedefleyen bir SimpleDateFormat örneği oluşturabilirsiniz. Bunu yapmak, tarihleri uygun olduğunda bu Yerel Ayara göre biçimlendirecektir.

Örneğin, haftanın gününün adını içeren bir biçimlendirme deseni, haftanın gününü verilen Yerel Ayarın dilinde yazacaktır. İşte bir örnek:

Desen Sözdizimi

Biçimlendirme deseninizde aşağıdaki sembolleri kullanabilirsiniz:

Desen HarfiTarih ve ZamanÖrnek
GÇağ belirleyiciAD
yYıl2018(yyyy),18(yy)
MYıl içindeki ayJuly(MMMM), Jul(MMM), 07(MM)
wYılda hafta 16
WHafta bazında 3
DYıldaki gün sayısını verir266
dAydaki gün sayısını verir.09(dd), 9(d)
FAy olarak haftanın günü4
EHaftanın gün adıTuesday, Tue
u1’in Pazartesi’yi, 2’nin Salı’yı temsil ettiği haftanın gün sayısı2
aAM yada PM AM
HGünün saati(0-23)12
kGünün saati (1-24)23
K12 saat biçimi için am / pm cinsinden saat(0-11)0
h12 saat biçimi için am / pm cinsinden saat (1-12)12
mSaatteki dakika59
sDakikada saniye35
SDakikada milisaniye978
zTimezonePacific Standard Time; PST; GMT-08:00
ZSaat cinsinden saat dilimi farkı (RFC düzeni)-0800
XISO biçiminde saat dilimi uzaklığı-08; -0800; -08:00

Bunların dışındaki karakterler, kalıba ve dolayısıyla biçimlendirilmiş tarihlere eklenecek normal metin olarak değerlendirilecektir.

Bazı karakterler farklı sayılarda kullanılabilir. Örneğin, yılın 2 karakterlik bir versiyonu için yy yazabilirsiniz (örn. 12) veya yılın 4 karakterli versiyonu için yyyy yazabilirsiniz (örn. 2012). Kabul edilen kalıplar hakkında daha fazla bilgi için SimpleDateFormat sınıfı için JavaDoc’a bakın.

Desen Örnekleri

İşte birkaç Java SimpleDateFormat tarih kalıbı örneği:

DateFormatSymbols

Biçimlendirilmiş çıktıda kullanılan tarih sembollerini belirli bir Yerel Ayar için özelleştirmek mümkündür. Bunu bir java.text.DateFormatSymbols örneği kullanarak yaparsınız. İşte bir örnek:

Çıktı:

Özel hafta günü adının nasıl kullanıldığına dikkat edin.

DateFormatSymbols örneğinde daha fazla tarih formatlama sembolü ayarlayabilirsiniz. Ek semboller ayarlamak için kullanabileceğiniz yöntemler şunlardır:

Kaynak:

https://docs.oracle.com/javase/8/docs/api/java/text/DateFormatSymbols.html

https://www.codota.com/code/java/classes/java.text.DateFormatSymbols

https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

http://tutorials.jenkov.com/java-internationalization/simpledateformat.html

Yorum Yap

Yorum yapmak için tıklayın