25 Mart 2020 Çarşamba

SimpleDateFormat Örüntü Sabitleri

Saat
a : AM/PM Pattern
Örnek ver

HH Pattern: 24 saat
Örnek ver

mm : Dakika
Örnek ver

ss : Saniye
Örnek ver

SSS : Milisaniye

Z - Saat Dilimi 
Örnek ver

Gün
dd Pattern: Gün
Örnek ver

EEE Pattern: Gün ismi
Şöyle yaparız
String dt = "Fri, 13 Apr 2018 02:26:19 -0700 (PDT)";
Date date = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss", Locale.ENGLISH)
  .parse(dt);
Ay
MM Pattern : Sayı ile Ay
Örnek ver

MMM Pattern : Ay İsmi
Örnek ver

Yıl
yyyy : Yıl Pattern
Her zaman bunu kullanmak gerekir.

Örnek
Şöyle yaparız. EEE gün ismi içindir. MMM ay ismi içindir. Z saat dilimi içindir.
String pattern = "EEE, dd MMM yyyy HH:mm:ss Z";

SimpleDateFormat formatter = new SimpleDateFormat(pattern, Locale.ENGLISH);
Date date = formatter.parse("Wed, 25 Mar 2020 08:00:00 +0200");
Y: Week year Pattern
Açıklaması şöyle. Yılın ilk Perşembesini içeren hafta ilk hafta kabul ediliyor.
yy is the calendar year, while YY is the ISO-8601 week year.

Today (30 December 2019) is a good example, the calendar year is 2019, but the week year is 2020, because this week is week 1 of 2020. So yy will result in 19, while YY results in 20.
Açıklaması şöyle.
The first week of the year is the week that contains that year's first Thursday
Örnek - YYYY ve yyyy Farkı
Elimizde şöyle bir kod olsun. Her iki durumda da 2019-12-31 tahini formatlamaya çalıştık ancak çıktı farkı. yyyy çıktısında yıl 2019YYYY çıktısında ise yıl 2020!
DateFormat formatUpperCase = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("2019-12-31 to yyyy-MM-dd: " + formatUpperCase.format(strDate));

formatUpperCase = new SimpleDateFormat("YYYY-MM-dd");
System.out.println("2019-12-31 to YYYY/MM/dd: " + formatUpperCase.format(strDate));

//Output
2019-12-31 to yyyy-MM-dd: 2019-12-31
2019-12-31 to YYYY-MM-dd: 2020-12-31
Örnek - 
YYYY ve yyyy Farkı
Elimizde şöyle bir kod olsun.
try {
  String[] dates = {"2018-12-01", "2018-12-31", "2019-01-01"};
  for (String date: dates) {
    SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd");
    Date d = dt.parse(date);

    SimpleDateFormat dtYYYY = new SimpleDateFormat("YYYY");
    SimpleDateFormat dtyyyy = new SimpleDateFormat("yyyy");

    System.out.println("For date :" + date + " the YYYY year is : " 
      + dtYYYY.format(d)
      + " while for yyyy it's " + dtyyyy.format(d));
  }
} catch (Exception e) {
  System.out.println("Failed with exception: " + e);
}
Çıktı olarak şunu alırız.
For date : 2018-12-01 the YYYY year is : 2018 while for yyyy it's 2018
For date : 2018-12-31 the YYYY year is : 2019 while for yyyy it's 2018
For date : 2019-01-01 the YYYY year is : 2019 while for yyyy it's 2019






Hiç yorum yok:

Yorum Gönder