import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class ManipulasiLocalTime {
    public static void main(String[] args) {
        LocalTime mulai = LocalTime.of(8, 30);

        // Semua operasi mengembalikan objek LocalTime yang baru.
        LocalTime tambahP = mulai.plusMinutes(90);
        LocalTime kurang = mulai.minusHours(1);
        LocalTime ubahJam = mulai.withHour(20);

        System.out.println("mulai            : " + mulai);
        System.out.println("plusMinutes(90)  : " + tambahP);
        System.out.println("minusHours(1)    : " + kurang);
        System.out.println("withHour(20)     : " + ubahJam);

        LocalTime batas = LocalTime.of(10, 0);
        System.out.println("isBefore(batas)  : " + mulai.isBefore(batas));
        System.out.println("isAfter(batas)   : " + mulai.isAfter(batas));

        // Pergeseran melewati tengah malam berputar kembali ke awal hari.
        LocalTime malam = LocalTime.of(23, 30);
        System.out.println("23:30 + 60 menit : " + malam.plusMinutes(60));

        DateTimeFormatter jamMenit = DateTimeFormatter.ofPattern("HH:mm");
        System.out.println("format HH:mm     : " + mulai.format(jamMenit));
    }
}
