java8时间转换成字符串

 1 //往前推一天
 2         String ss = DateTimeFormatter.ofPattern("MM/dd").format(LocalDateTime.now().minusDays(1));
 3         System.out.println(ss);
 4         
 5         //往前推一个月
 6         String ss1 = DateTimeFormatter.ofPattern("yyyy/MM").format(LocalDateTime.now().minusMonths(1));
 7         System.out.println(ss1);
 8 
 9         DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
10         String ss2 = dateTimeFormatter.format(LocalDateTime.now());
11         System.out.println(ss2);

输出结果:

1 07/26
2 2020/06
3 2020-07-27 17:00:00

 字符串转换日期

String time = "2020-09-22";
LocalDate parse = LocalDate.parse(time);
String time = "2020-09-22 22:22:22";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(time, dateTimeFormatter);
System.out.println("年:"+localDateTime.getYear()+" 月:"+localDateTime.getMonthValue()+" 日:"+localDateTime.getDayOfMonth()+" 时:"+localDateTime.getHour()
+" 分:"+localDateTime.getMinute()+" 秒:"+localDateTime.getSecond()
);

 输出结果:

年:2020 月:9 日:22 时:22 分:22 秒:22

LocalDateTime的常用方法:

     LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println(localDateTime); //输出当前时间
        System.out.println("减少1年:"+localDateTime.minusYears(1));
        System.out.println("减少1月:"+localDateTime.minusMonths(1));
        System.out.println("减少1周:"+localDateTime.minusWeeks(1));
        System.out.println("减少1天:"+localDateTime.minusDays(1));
        System.out.println("减少1小时:"+localDateTime.minusHours(1));
        System.out.println("减少1分钟:"+localDateTime.minusMinutes(1));
        System.out.println("减少1秒钟:"+localDateTime.minusSeconds(1));

        System.out.println("增加1年:"+localDateTime.plusYears(1));
        System.out.println("增加1月:"+localDateTime.plusMonths(1));
        System.out.println("增加1周:"+localDateTime.plusWeeks(1));
        System.out.println("增加1天:"+localDateTime.plusDays(1));
        System.out.println("增加1小时:"+localDateTime.plusHours(1));
        System.out.println("增加1分钟:"+localDateTime.plusMinutes(1));
        System.out.println("增加1秒钟:"+localDateTime.plusSeconds(1));

输出:

2020-07-28T11:14:43.965
减少1年:2019-07-28T11:14:43.965
减少1月:2020-06-28T11:14:43.965
减少1周:2020-07-21T11:14:43.965
减少1天:2020-07-27T11:14:43.965
减少1小时:2020-07-28T10:14:43.965
减少1分钟:2020-07-28T11:13:43.965
减少1秒钟:2020-07-28T11:14:42.965
增加1年:2021-07-28T11:14:43.965
增加1月:2020-08-28T11:14:43.965
增加1周:2020-08-04T11:14:43.965
增加1天:2020-07-29T11:14:43.965
增加1小时:2020-07-28T12:14:43.965
增加1分钟:2020-07-28T11:15:43.965
增加1秒钟:2020-07-28T11:14:44.965

定义LocalDateTime:

//定义年 月 日 时  分 秒
        LocalDateTime localDateTime1 = localDateTime.withYear(2028).withMonth(12).withDayOfMonth(13).withHour(15).withMinute(30).withSecond(45);
        System.out.println(localDateTime1);

输出:

2028-12-13T15:30:45.965

月多少天,年多少天:

System.out.println("每月多少天:"+LocalDate.now().lengthOfMonth()+"  每年多少天:"+LocalDate.now().lengthOfYear());

输出:

每月多少天:31  每年多少天:366

每天最大时间,最小时间:

     //每天最大时间,minusSeconds,保存到数据库中为23:59:59.如果不加的话,保存到数据库就为:第二天00:00:00
        LocalDateTime max = LocalDateTime.now().with(LocalTime.MAX).minusSeconds(1);
        System.out.println(max);  //2020-07-28T23:59:58.999999999
        //每天最小时间。
        LocalDateTime startOfDay = LocalDateTime.now().with(LocalTime.MIN);
        System.out.println(startOfDay);  //2020-07-28T00:00

LocalDateTime转Long,Long转LocalDateTime

/**
     * LocalDateTime转Long
     * @param localDateTime
     * @return
     */
    public static long getTimestampOfDateTime(LocalDateTime localDateTime) {
        ZoneId zone = ZoneId.systemDefault();
        Instant instant = localDateTime.atZone(zone).toInstant();
        return instant.toEpochMilli();
    }

    /**
     * long转LocalDateTime
     * @param timestamp
     * @return
     */
    public static LocalDateTime getDateTimeOfTimestamp(long timestamp) {
        Instant instant = Instant.ofEpochMilli(timestamp);
        ZoneId zone = ZoneId.systemDefault();
        return LocalDateTime.ofInstant(instant, zone);
    }
原文地址:https://www.cnblogs.com/bulrush/p/13386349.html