一、时间之间转化
1、第一行转换
2、第二行输出
/**
*日期转化
* String 、LocalDateTime 、Instant 、ZonedDateTime
*/
String localDateTimeToString = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"));
System.out.println("localDateTimeToString====>" + localDateTimeToString);
Timestamp localDateTimeToTimestap = Timestamp.valueOf(LocalDateTime.now());
System.out.println("localDateTimeToTimestap==>" + localDateTimeToTimestap);
Instant localDateTimeToInstant = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant();
System.out.println("localDateTimeToInstant=====>" + localDateTimeToInstant);
LocalDateTime instantToLocalDateTime = LocalDateTime.ofInstant(Instant.now(), ZoneId.systemDefault());
System.out.println("instantToLocalDateTime===>" + instantToLocalDateTime);
System.out.println("StingToLocalDateTime" + LocalDateTime.parse("2018-03-11 15:30:11", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
Timestamp ts = Timestamp.valueOf(LocalDateTime.now());
Instant instant = ts.toInstant();
System.out.println("timestampToInstant======>" + instant);
ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of("America/Montreal"));
System.out.println("instantToZonedDateTime=======>" + zdt);
ZonedDateTime zdtKolkata = zdt.withZoneSameInstant(ZoneId.of("Asia/Kolkata"));
System.out.println("Asia/Kolkata======>" + zdtKolkata);
System.out.println("Etc/UTC=====>" + zdt.withZoneSameInstant(ZoneId.of("Etc/UTC")));
3、时区 、Period 、日期格式化
// 获取时区
System.out.println(ZoneId.getAvailableZoneIds().size());
ZoneId.getAvailableZoneIds().forEach(System.out::println);
// period
LocalDate localDate = LocalDate.now();
LocalDate localDate2 = LocalDate.of(2016, 1, 5);
Period period = Period.between(localDate2, localDate);
System.out.println("计算日起间隔====》" + period.getYears() + "年" + period.getMonths() + "月" + period.getDays() + "日");
TimeZone tz = TimeZone.getTimeZone("UTC");
System.out.println(tz);
// DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'"); // Quoted "Z" to indicate UTC, no timezone offset
DateFormat df = new SimpleDateFormat("YYYY-MM-DD'T'HH:mm:ss'Z'");
df.setTimeZone(tz);
String nowAsISO = df.format(new Date());
System.out.println(LocalDateTime.now());
System.out.println(nowAsISO);