//获取当前日期,和前一天的日期
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(df.format(new Date()));
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.DATE,-1);
Date dateBefore = calendar.getTime();
System.out.println(df.format(dateBefore));
System.out.println(dateBefore.getClass());
// 字符串解析成 Date
String date = "2021-11-01 04:00:50";
Date parse = df.parse(date);
System.out.println(parse);
// 获取当前时间和2个小时之前的时间
System.out.println("获取当前时间和2个小时之前的时间");
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:00:00");
// dateTime1 比 dateTime2 早2小时
LocalDateTime dateTime2 = LocalDateTime.now();
LocalDateTime dateTime1 = dateTime2.minusHours(2);
System.out.println(dateTimeFormatter.format(dateTime1)); // 2021-11-09 12:00:00
System.out.println(dateTimeFormatter.format(dateTime2)); // 2021-11-09 14:00:00
// 从字符串生成
LocalDateTime dateTime3 = LocalDateTime.parse("2021-11-09 01:00:00",dateTimeFormatter);
// 时间前推2小时,跨天
LocalDateTime dateTime4 = dateTime3.minusHours(2);
System.out.println(dateTime3); // 2021-11-09T01:00
System.out.println(dateTime4); // 2021-11-08T23:00
// 计算两个时间点之间的时间间隔
Duration duration = Duration.between(dateTime4,dateTime3);
System.out.println("时间间隔 ==》"+duration.toHours());
// String 类型时间转 long
String format = DateUtil.format(new Date(), "yyyy-MM-dd HH:00:00");
long timeLong = DateUtil.parse(format).getTime();
System.out.println(DateUtil.parse(format)); // 2022-01-20 11:00:00
System.out.println(timeLong); // 1642647600000
// long转str
System.out.println(DateUtil.format(new Date(timeLong), DatePattern.NORM_DATETIME_PATTERN)); // 2022-01-20 11:00:00
java 时间处理
于 2021-11-09 14:12:58 首次发布