Java'da String Tipini Date Tipine Çevirme

Kategori

Java'da String Tipini Date Tipine Çevirme

Java programlama Dili ile String Tipinde olan tarih değerini Date Tipine çevirmek için kullanılabilecek yöntemler incelenecek.

1. Yöntem: DateTimeFormatter kullanımı

java 8 ve üzeri versiyonlarda çalışır.

Örnek 1:

ilk olarak DateTimeFormatter import ediniz.

import java.time.format.DateTimeFormatter;

Daha sonra çevireceğiniz string için tarih formatını giriniz. bu kodun çalışabilmesi için verilen string değer ile oluşturulacak format tutarlı olmalıdır.

String date = "12-10-2016";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d-M-yyyy");
System.out.println(formattedDate); 
System.out.println(formatter.format(formattedDate));

 

Çıktı:

2016-10-16
16-10-2016

 

Örnek 2:

String stringdate2 = "12-Aug-2016";
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("d-MMM-yyyy", Locale.US);
LocalDate formattedDate2 = LocalDate.parse(stringdate2, formatter2);
System.out.println(formattedDate2); 
System.out.println(formatter.format(formattedDate2));

 

Örnek 3:

String stringdate3 = "Monday, Aug 12, 2019 13:25:31 PM";
DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("EEEE, MMM d, yyyy HH:mm:ss a", Locale.US);
LocalDate formattedDate3 = LocalDate.parse(stringdate3, formatter3);
System.out.println(formattedDate3); 
System.out.println(formatter.format(formattedDate3));

önceden tanımlanmış formatlar

Formatter Description Example
ofLocalizedDate(dateStyle) Formatter with date style from the locale '2011-12-03'
ofLocalizedTime(timeStyle) Formatter with time style from the locale '10:15:30'
ofLocalizedDateTime(dateTimeStyle) Formatter with a style for date and time from the locale '3 Jun 2008 11:05:30'
ofLocalizedDateTime(dateStyle,timeStyle) Formatter with date and time styles from the locale '3 Jun 2008 11:05'
BASIC_ISO_DATE Basic ISO date '20111203'
ISO_LOCAL_DATE ISO Local Date '2011-12-03'
ISO_OFFSET_DATE ISO Date with offset '2011-12-03+01:00'
ISO_DATE ISO Date with or without offset '2011-12-03+01:00'; '2011-12-03'
ISO_LOCAL_TIME Time without offset '10:15:30'
ISO_OFFSET_TIME Time with offset '10:15:30+01:00'
ISO_TIME Time with or without offset '10:15:30+01:00'; '10:15:30'
ISO_LOCAL_DATE_TIME ISO Local Date and Time '2011-12-03T10:15:30'
ISO_OFFSET_DATE_TIME Date Time with Offset 2011-12-03T10:15:30+01:00'
ISO_ZONED_DATE_TIME Zoned Date Time '2011-12-03T10:15:30+01:00[Europe/Paris]'
ISO_DATE_TIME Date and time with ZoneId '2011-12-03T10:15:30+01:00[Europe/Paris]'
ISO_ORDINAL_DATE Year and day of year '2012-337'
ISO_WEEK_DATE Year and Week 2012-W48-6'
ISO_INSTANT Date and Time of an Instant '2011-12-03T10:15:30Z'
RFC_1123_DATE_TIME RFC 1123 / RFC 822 'Tue, 3 Jun 2008 11:05:30 GMT'

pattern örnekleri

Harf Temsil ettiği parça Örnek
y Yıl 1996; 96
M Yıl içinde ay July; Jul; 07
w Yıl içinde hafta 27
W Ay içinde hafta 2
D Yıl içinde gün 189
d Ay içinde gün 10
F Ay içinde haftanın günü 2
E Haftanın günü Tuesday; Tue
a Sabah/akşam PM
H Gün içinde saat (0-23) 0
k Gün içinde saat (1-24) 24
K Sabah/akşam için saat (0-11) 0
h Sabah/akşam için saat (1-12) 12
m Saat içinde dakika 30
s Dakika içinde saniye 55
S Milisaniye 978


 

2. Yöntem :SimpleDateFormat kullanımı

Örnek 4:

ilk olarak import işlemlerini yapınız.

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

Daha sonra çevireceğiniz string için tarih formatını giriniz. bu kodun çalışabilmesi için verilen string değer ile oluşturulacak format tutarlı olmalıdır.

         try {
            String stringdate4 = "2019/08/12";
            SimpleDateFormat simpleformatter = new SimpleDateFormat("yyyy/MM/dd");
            Date formattedDate4 = simpleformatter.parse(stringdate4);
            System.out.println(formattedDate4);
            System.out.println(simpleformatter.format(formattedDate4));
        } catch (ParseException e) {
            e.printStackTrace();
        }

Çıktı:

Mon Aug 12 00:00:00 EEST 2019
2019/08/12

 

Facebookta Paylaş Tweetle