对应的gitee地址java8-lambda-stream
直接上代码:
package com.xiongzai.lambda;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class LocalDateTimeApi {
private static final Logger logger = LoggerFactory.getLogger(LocalDateTimeApi.class);
public static void main(String[] args) {
conversion();
compareTo();
formatt();
}
private static void formatt() {
LocalDate localDate = LocalDate.now();
String format1 = localDate.format(DateTimeFormatter.BASIC_ISO_DATE);
String format2 = localDate.format(DateTimeFormatter.ISO_DATE);
logger.info(new StringBuilder().append("localDate --> String:(yyyyMMdd)->").append(format1).toString());
logger.info(new StringBuilder().append("localDate --> String:(yyyy-MM-dd)->").append(format2).toString());
LocalTime localTime = LocalTime.now();
String format3 = localTime.format(DateTimeFormatter.ISO_TIME);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm:ss");
String format4 = localTime.format(formatter);
logger.info(new StringBuilder().append("LocalTime --> String(ISO_TIME)->").append(format3).toString());
logger.info(new StringBuilder().append("LocalTime --> String(hh:mm:ss)->").append(format4).toString());
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
String format5 = localDateTime.format(formatter2);
logger.info(new StringBuilder().append("LocalDateTime --> String(yyyy-MM-dd hh:mm:ss)->").append(format5).toString());
LocalDate localDate1 = LocalDate.parse("2021-10-22");
DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
String format = localDate1.format(pattern);
logger.info(new StringBuilder().append("2021-10-22 --> yyyy年MM月dd日 :->").append(format).toString());
LocalTime localTime2 = LocalTime.parse("17:43:53");
logger.info(new StringBuilder().append("String --> LocalTime(17:43:53)->").append(localTime2).toString());
DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
DateTimeFormatter formatter4 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDate localDate3 = LocalDate.parse("2021-10-22 05:43:53", formatter3);
LocalDate localDate4 = LocalDate.parse("2021-10-22 17:43:53", formatter4);
logger.info(new StringBuilder().append("String --> LocalDateTime(12小时)->").append(localDate3).toString());
logger.info(new StringBuilder().append("String --> LocalDateTime(24小时)->").append(localDate4).toString());
Date startDt = new Date();
String format6 = startDt.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().format(DateTimeFormatter.ISO_DATE_TIME);
String format7 = startDt.toInstant().atZone(ZoneId.systemDefault()).toLocalDate().format(DateTimeFormatter.BASIC_ISO_DATE);
String format8 = startDt.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDate().format(DateTimeFormatter.BASIC_ISO_DATE);
logger.info(new StringBuilder().append("Date --> LocalDateTime(yyyy-MM-dd HH:mm:ss)->").append(format6).toString());
logger.info(new StringBuilder().append("Date --> LocalDate(yyyyMMdd)->").append(format7).toString());
logger.info(new StringBuilder().append("Date --> LocalDate(yyyyMMdd)->").append(format8).toString());
}
private static void compareTo() {
LocalDateTime now = LocalDateTime.now();
logger.info(new StringBuilder().append("LocalDateTime.now()->").append(now).toString());
LocalDateTime nowAtTomorrow = now.plusDays(1);
logger.info(new StringBuilder().append("LocalDateTime.now().plusDays(1)->").append(now).toString());
int i = now.compareTo(nowAtTomorrow);
boolean flat = nowAtTomorrow.isAfter(now);
logger.info(new StringBuilder().append("今天>明天:->").append(i).toString());
logger.info(new StringBuilder().append("今天>明天:->").append(flat).toString());
i = nowAtTomorrow.compareTo(now);
flat = now.isBefore(nowAtTomorrow);
logger.info(new StringBuilder().append("明天>今天:->").append(i).toString());
logger.info(new StringBuilder().append("明天>今天:->").append(flat).toString());
i = now.compareTo(now);
flat = now.isEqual(now);
logger.info(new StringBuilder().append("今天==今天:->").append(i).toString());
logger.info(new StringBuilder().append("今天==今天:->").append(flat).toString());
}
private static void conversion() {
LocalDate nowLocalDate = LocalDate.now();
Date date = Date.from(nowLocalDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
logger.info(new StringBuilder().append("LocalDate->").append(nowLocalDate).toString());
logger.info(new StringBuilder().append("Date->").append(date).toString());
LocalDateTime localDateTime = LocalDateTime.now();
Date date2 = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
logger.info(new StringBuilder().append("LocalDateTime->").append(localDateTime).toString());
logger.info(new StringBuilder().append("Date->").append(date2).toString());
Date date3 = new Date();
LocalDate localDate = date3.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDateTime localDateTime3 = date3.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
logger.info(new StringBuilder().append("Date->").append(date3).toString());
logger.info(new StringBuilder().append("LocalDate->").append(localDate).toString());
logger.info(new StringBuilder().append("LocalDateTime->").append(localDateTime3).toString());
String day = "2021-10-22";
Date date4 = Date.from(LocalDate.parse(day.replaceAll("/", "-")).atStartOfDay(ZoneId.systemDefault()).toInstant());
logger.info(new StringBuilder().append("String 转 LocalDate 转 Date->").append(date4).toString());
Date date5 = new Date();
String taskStartDt = date5.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().format(DateTimeFormatter.ISO_DATE);
logger.info(new StringBuilder().append("Date 转 LocalDate 转 String(yyyy-MM-dd)->").append(taskStartDt).toString());
LocalDate localDate6 = LocalDate.now();
long longtimestamp = localDate6.atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli();
logger.info(new StringBuilder().append("LocalDate转时间戳->").append(longtimestamp).toString());
LocalDateTime localDateTime7 = LocalDateTime.now();
longtimestamp = localDateTime7.toInstant(ZoneOffset.of("+8")).toEpochMilli();
logger.info(new StringBuilder().append("LocalDateTime转时间戳->").append(longtimestamp).toString());
longtimestamp = System.currentTimeMillis();
LocalDate localDate8 = Instant.ofEpochMilli(longtimestamp).atZone(ZoneId.systemDefault()).toLocalDate();
LocalDateTime localDateTime8 = Instant.ofEpochMilli(longtimestamp).atZone(ZoneId.systemDefault()).toLocalDateTime();
logger.info(new StringBuilder().append("时间戳转LocalDate->").append(localDate8).toString());
logger.info(new StringBuilder().append("时间戳转LocalDateTime->").append(localDateTime8).toString());
}
}



