zoukankan      html  css  js  c++  java
  • 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);
        }
  • 相关阅读:
    【FFMPEG】ffmpeg 时间戳问题汇总
    【FFMPEG】基于RTP的H264视频数据打包解包类
    【FFMPEG】基于RTP的H264视频数据打包解包类
    【FFMPEG】使用FFMPEG+H264实现RTP传输数据
    【FFMPEG】使用FFMPEG+H264实现RTP传输数据
    【FFMPEG】谈谈RTP传输中的负载类型和时间戳
    【FFMPEG】谈谈RTP传输中的负载类型和时间戳
    【图像处理】FFmpeg解码H264及swscale缩放详解
    【图像处理】FFmpeg解码H264及swscale缩放详解
    【图像处理】FFmpeg-0
  • 原文地址:https://www.cnblogs.com/bulrush/p/13386349.html
Copyright © 2011-2022 走看看