import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

class Main {
    public static void main(String[] args) {
        // Current moment
        System.out.println(Instant.now());

        // Current date-time in a specific timezone e.g. America/New_York
        ZonedDateTime zdt = ZonedDateTime.now(ZoneId.of("America/New_York"));
        System.out.println(zdt);

        // Output in a custom format e.g. EEE MMM dd, uuuu 'at' hh:mm:ss a
        String formattedStr = zdt.format(DateTimeFormatter.ofPattern("EEE MMM dd, uuuu 'at' hh:mm:ss a", Locale.ENGLISH));
        System.out.println(formattedStr);
    }
}