package com.google.adventure.pojo.year2019.girlProject;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalAdjusters;
public class LocalDateTimeExample {
public static void localDateExample() {
final LocalDate localDate1 = LocalDate.now();
System.out.println(localDate1);
final LocalDate localDate2 = LocalDate.of(2019, 03, 07);
System.out.println(localDate2);
final String date = "2019-01-02";
final LocalDate localDate3 = LocalDate.parse(date);
System.out.println(localDate3);
final DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyyMMdd");
final LocalDate localDate4 = LocalDate.parse("20190508", formatter1);
System.out.println(localDate4);
final DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("d-MMM-yyyy");
System.out.println(localDate4.format(formatter2));
final LocalDate localDate5 = LocalDate.of(2019, 12, 6);
System.out.println(localDate5.format(formatter2));
final LocalDate localDate6 = LocalDate.of(2019, 10, 31);
final LocalDate localDate7 = localDate6.plusYears(1);
System.out.println(localDate7);
final LocalDate localDate8 = localDate6.plusMonths(1);
System.out.println(localDate8);
final LocalDate localDate9 = localDate6.minusDays(5);
System.out.println(localDate9);
final LocalDate lastDayOfCurrentMonth = localDate1.with(TemporalAdjusters.lastDayOfMonth());
System.out.println(lastDayOfCurrentMonth);
final LocalDate lastDay1 = localDate2.with(TemporalAdjusters.lastDayOfMonth());
System.out.println(lastDay1);
System.out.println(LocalDate.of(2019, 11, 3).with(TemporalAdjusters.lastDayOfMonth()));
System.out.println(getLastWorkingDayOfMonth(lastDayOfCurrentMonth));
System.out.println(getLastWorkingDayOfMonth(lastDay1));
}
public static LocalDate getLastWorkingDayOfMonth(LocalDate lastDayOfMonth) {
LocalDate lastWorkingDayOfMonth;
switch (DayOfWeek.of(lastDayOfMonth.get(ChronoField.DAY_OF_WEEK))) {
case SATURDAY:
lastWorkingDayOfMonth = lastDayOfMonth.minusDays(1);
break;
case SUNDAY:
lastWorkingDayOfMonth = lastDayOfMonth.minusDays(2);
break;
default:
lastWorkingDayOfMonth = lastDayOfMonth;
}
return lastWorkingDayOfMonth;
}
public static void localDateTimeExample() {
final LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime);
final LocalDateTime localDateTimeZone = LocalDateTime.now(ZoneId.of("America/Los_Angeles"));
System.out.println(localDateTimeZone);
final LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.now());
System.out.println(today);
final LocalDateTime ofMethod = LocalDateTime.of(2015, 4, 14, 12, 30, 23, 12000);
System.out.println(ofMethod);
final LocalDateTime ofMethod1 = LocalDateTime.of(2015, Month.APRIL, 1, 12, 30);
System.out.println(ofMethod1);
System.out.println(ofMethod1.getDayOfMonth());
System.out.println(ofMethod1.getHour());
System.out.println(ofMethod1.getMonth());
System.out.println(ofMethod1.plusDays(10));
System.out.println(ofMethod1.minusDays(12));
System.out.println(ofMethod1.toLocalDate());
System.out.println(ofMethod1.toLocalTime());
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
final LocalDateTime localDateTime1 = LocalDateTime.parse("20190708120506", formatter);
System.out.println(localDateTime1);
final LocalDateTime localDateTime2 = LocalDateTime.parse("2019-08-06T14:25:07");
System.out.println(localDateTime2);
}
public static void main(String[] args) {
localDateTimeExample();
}
}