import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class FormatPola {
    public static void main(String[] args) {
        LocalDate tanggal = LocalDate.of(2026, 1, 15);
        LocalDateTime rapat = LocalDateTime.of(2026, 1, 15, 8, 5, 3);
        ZonedDateTime berangkat =
                ZonedDateTime.of(2026, 1, 15, 8, 0, 0, 0, ZoneId.of("Asia/Jakarta"));
        Locale id = Locale.forLanguageTag("id");

        DateTimeFormatter standar = DateTimeFormatter.ofPattern("dd/MM/yyyy").withLocale(id);
        DateTimeFormatter panjang = DateTimeFormatter.ofPattern("dd MMMM yyyy").withLocale(id);
        DateTimeFormatter hari = DateTimeFormatter.ofPattern("EEEE, dd MMMM yyyy").withLocale(id);
        DateTimeFormatter singkat = DateTimeFormatter.ofPattern("E, dd MMM yy").withLocale(id);
        DateTimeFormatter jamLengkap = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
        DateTimeFormatter tanpaNol = DateTimeFormatter.ofPattern("d MMMM yyyy HH:mm").withLocale(id);
        DateTimeFormatter zona = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm z");

        System.out.println("dd/MM/yyyy         : " + tanggal.format(standar));
        System.out.println("dd MMMM yyyy       : " + tanggal.format(panjang));
        System.out.println("EEEE, dd MMMM yyyy : " + tanggal.format(hari));
        System.out.println("E, dd MMM yy       : " + tanggal.format(singkat));
        System.out.println("HH:mm:ss           : " + rapat.format(jamLengkap));
        System.out.println("d MMMM yyyy HH:mm  : " + rapat.format(tanpaNol));
        System.out.println("dengan zona        : " + berangkat.format(zona));
    }
}
