public static void main(String[] args) { ZonedDateTime apollo11launch = ZonedDateTime.of(1969, 7, 16, 9, 32, 0, 0, ZoneId.of("America/New_York")); String formatted = DateTimeFormatter.ISO_DATE_TIME.format(apollo11launch); // 1969-07-16T09:32:00-05:00[America/New_York] System.out.println(formatted); DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG); formatted = formatter.format(apollo11launch); // July 16, 1969 9:32:00 AM EDT System.out.println(formatted); formatted = formatter.withLocale(Locale.FRENCH).format(apollo11launch); // 16 juillet 1969 09:32:00 EDT System.out.println(formatted); formatter = DateTimeFormatter.ofPattern("E yyyy-MM-dd HH:mm"); formatted = formatter.format(apollo11launch); System.out.println(formatted); LocalDate churchsBirthday = LocalDate.parse("1903-06-14"); System.out.println("churchsBirthday: " + churchsBirthday); apollo11launch = ZonedDateTime.parse( "1969-07-16 03:32:00-0400", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssxx")); System.out.println("apollo11launch: " + apollo11launch); }
public static void main(String[] args) { LocalDateTime localDateTime = LocalDateTime.of(2016, 3, 27, 1, 20); localDateTime = localDateTime.plusHours(1); System.out.println(localDateTime); ZoneId zoneId = ZoneId.of("Europe/Warsaw"); ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, zoneId); System.out.println(zonedDateTime); }
public static void main(String[] args) { ZonedDateTime apollo11launch = ZonedDateTime.of(1969, 7, 16, 9, 32, 0, 0, ZoneId.of("America/New_York")); // 1969-07-16T09:32-04:00[America/New_York] System.out.println("apollo11launch: " + apollo11launch); Instant instant = apollo11launch.toInstant(); System.out.println("instant: " + instant); ZonedDateTime zonedDateTime = instant.atZone(ZoneId.of("UTC")); System.out.println("zonedDateTime: " + zonedDateTime); ZonedDateTime skipped = ZonedDateTime.of( LocalDate.of(2013, 3, 31), LocalTime.of(2, 30), ZoneId.of("Europe/Berlin")); // Constructs March 31 3:30 System.out.println("skipped: " + skipped); ZonedDateTime ambiguous = ZonedDateTime.of( LocalDate.of(2013, 10, 27), // End of daylight savings time LocalTime.of(2, 30), ZoneId.of("Europe/Berlin")); // 2013-10-27T02:30+02:00[Europe/Berlin] ZonedDateTime anHourLater = ambiguous.plusHours(1); // 2013-10-27T02:30+01:00[Europe/Berlin] System.out.println("ambiguous: " + ambiguous); System.out.println("anHourLater: " + anHourLater); ZonedDateTime meeting = ZonedDateTime.of( LocalDate.of(2013, 10, 31), LocalTime.of(14, 30), ZoneId.of("America/Los_Angeles")); System.out.println("meeting: " + meeting); ZonedDateTime nextMeeting = meeting.plus(Duration.ofDays(7)); // Caution! Won’t work with daylight savings time System.out.println("nextMeeting: " + nextMeeting); nextMeeting = meeting.plus(Period.ofDays(7)); // OK System.out.println("nextMeeting: " + nextMeeting); }
public static ZonedDateTime getNextSchedule() { ZonedDateTime next_schedule; // Determine type of schedule if (ConfigHandler.backupInterval > 0) // Interval { next_schedule = ZonedDateTime.ofInstant( Instant.ofEpochMilli( System.currentTimeMillis() + (ConfigHandler.backupInterval * 60 * 1000)), ZoneId.systemDefault()); } else // Schedule { if (ConfigHandler.backupSchedule.length == 0) { return null; } LocalTime now = LocalTime.now(); LocalTime next_time = null; LocalDate day = LocalDate.now(); TreeSet<LocalTime> times = new TreeSet<>(); for (String s : ConfigHandler.backupSchedule) { times.add(LocalTime.parse(s, DateTimeFormatter.ofPattern("H:mm"))); } for (LocalTime t : times) // try to find next scheduled time for today { if (t.compareTo(now) == 1) { next_time = t; break; } } if (next_time == null) // if we couldn't find one for today take the first schedule time for tomorrow { day = day.plusDays(1); next_time = times.first(); } next_schedule = ZonedDateTime.of(day, next_time, ZoneId.systemDefault()); } return next_schedule; }