jdk8 新日期
LocalDateTime、LocalDate、LocalTime
public class Test {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
System.out.println(now);
LocalDateTime date = LocalDateTime.of(2013, 4, 2,3,5,0);
System.out.println(date);
int month = date.getMonthValue();
System.out.println(month);
LocalDateTime localDateTime = date.withHour(15);
System.out.println(localDateTime);
LocalDateTime localDateTime1 = date.minusDays(5);
System.out.println(localDateTime1);
}
}
Instant
public static void main(String[] args) {
Instant instant = Instant.now();
System.out.println(instant);
OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));
System.out.println(offsetDateTime);
long l = instant.toEpochMilli();
System.out.println(l);
Instant instant1 = Instant.ofEpochMilli(1594202354038L);
System.out.println(instant1);
}
DateTimeFormatter
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
String format = formatter.format(now);
System.out.println(format);
LocalDateTime dateTime = LocalDateTime.parse("2020/07/08 19:27:57", formatter);
System.out.println(dateTime);
TemporalAccessor parse = formatter.parse("2020/07/08 19:27:57");
LocalDateTime from = LocalDateTime.from(parse);
System.out.println(from);
DateTimeFormatter f1 = DateTimeFormatter.ofPattern("yyyy/MM/dd");
LocalDate date = LocalDate.parse("2020/07/08", f1);
System.out.println(date);
DateTimeFormatter f2 = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime time = LocalTime.parse("19:28:26", f2);
System.out.println(time);
}
Date 与 LocalDateTime转换
public static LocalDateTime dateConvertToLocalDateTime(Date date) {
return date.toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
}
public static Date localDateTimeConvertToDate(LocalDateTime localDateTime) {
return Date.from(localDateTime.toInstant(ZoneOffset.of("+8")));
}
时间戳与LocalDateTime互转
long l = dateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
long l1 = dateTime.toEpochSecond(ZoneOffset.ofHours(8));
LocalDateTime d = LocalDateTime.ofEpochSecond(l / 1000L, 0, ZoneOffset.ofHours(8));