package com.xbb.java.time;
import java.time.*;
import java.time.temporal.ChronoUnit;
import java.util.function.BiFunction;
public class Local_Demo {
public static void main(String[] args) throws Exception{
duration_Demo();
period_Demo();
}
public static void localDateTimeForRobot_Demo(){
Instant instant1 = Instant.now();
System.out.println(instant1);
OffsetDateTime zdt = instant1.atOffset(ZoneOffset.ofHours(8));
System.out.println(zdt);
System.out.println(instant1.toEpochMilli());
}
public static void localDateTimeForPerson_Demo(){
LocalDate date = LocalDate.now();
System.out.println(date);
LocalTime time = LocalTime.now();
System.out.println(time);
LocalDateTime dateTime = LocalDateTime.now();
System.out.println(dateTime);
LocalDateTime dt = LocalDateTime.of(2019,02,22,13,22,44);
System.out.println(dt);
LocalDateTime dateTime1 = LocalDateTime.now().plusYears(2);
System.out.println(dateTime1);
LocalDateTime dateTime2 = LocalDateTime.now().minusMonths(2);
System.out.println(dateTime2);
System.out.println("年 : " + dateTime.getYear());
System.out.println("月 : " + dateTime.getMonthValue());
System.out.println("日 : " + dateTime.getDayOfMonth());
}
public static void duration_Demo() throws Exception{
Instant inst1 = Instant.now();
Thread.sleep(3000);
Instant inst2 = Instant.now().plus(2, ChronoUnit.DAYS);
BiFunction<Instant,Instant,Duration> supplier = (x, y)->Duration.between(x,y);
System.out.println(supplier.apply(inst1,inst2).toDays());
}
public static void period_Demo() throws Exception{
LocalDate localDate1 = LocalDate.now();
LocalDate localDate2 = LocalDate.now().plusDays(3);
BiFunction<LocalDate,LocalDate,Period> function = (x,y)->Period.between(x,y);
System.out.println(function.apply(localDate1,localDate2).getDays());
LocalDate localDate3 = LocalDate.of(1991,05,16);
System.out.println(Period.between(localDate1,localDate3));
}
}