DEV Community

Cover image for Best Practice #2 : Parses the desired LocalDateTime format
Asep Septiadi
Asep Septiadi

Posted on • Updated on

Best Practice #2 : Parses the desired LocalDateTime format

Disclaimer

Pada suatu ketika kita menghadapi sebuah case dimana, kita harus mengolah datetime format LocalDateTime dimana outputnya kurang lebih seperti berikut

2022-11-19T20:35:34.149849
Enter fullscreen mode Exit fullscreen mode

kodingan tersebut berasal dari class LocalDateTime

LocalDateTime now = LocalDateTime.now();
Enter fullscreen mode Exit fullscreen mode

permasalahannya adalah, bagaimana kita ingin mengubah ke format time yang kita inginkan? dari case tersebut kita dapat menangani masalah diatas dengan class DateTimeFormatter, untuk sample nya adalah misal kita ingin buat output seperti 19 June 2022 18:26:10

Actions

Untuk memproses parsingan LocalDateTime ke DateTimeFormatter kita akan melakukan prosesnya seperti berikut, Pertama kita buat terlebih dahulu main programnya

@Test
public void bestPractice2() {
    LocalDateTime now = LocalDateTime.now();
    System.out.println("Sebelum diparsing : " + now + "\nSetelah di Parsing : " + parsingDateTimeFormatter(now));
}
Enter fullscreen mode Exit fullscreen mode

Jika diperhatikan dari output diatas parsingDateTimeFormatter merupakan function yang mengembalikan nilai hasil parsing tanggal LocalDateTime, selanjutnya kita hanya perlu membuat sebuah function yang memproses format yang ingin kita buat dengan harapan output seperti Saturday, 19 November 2022 20:54:05

public String parsingDateTimeFormatter(LocalDateTime now) {
    /*
     * Dokumentasi Tambahan :
     * EEEE : Merupakan format nama Hari lengkap, jika ingin 3 huruf cukup EEE
     * dd : Merupakan tanggal dalam format angka 01-31
     * MMMM : Merupakan format nama bulan lengkap dengan 4 huruf MMMM, 3 huruf nama bulan MM
     *        sedang untuk dalam format angka cukup MM
     * yyyy : Sama seperti bulan untuk format tahun lengkap 2022 : yyyy, jika ingin 2 angka cukup yy
     * HH:mm:ss : Adalah parsing waktu HH : Jam, mm : Menit, ss : Detik
     * */
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("EEEE, dd MMMM yyyy HH:mm:ss");
    return dtf.format(now);
}
Enter fullscreen mode Exit fullscreen mode

Dan berikut merupakan hasil eksekusi kita tadi

Sebelum diparsing : 2022-11-19T20:54:05.804686
Setelah di Parsing : Saturday, 19 November 2022 20:54:05
Enter fullscreen mode Exit fullscreen mode

Case finished.

Top comments (0)