zoukankan      html  css  js  c++  java
  • JDK8时间新API

    @RunWith(JUnit4.class)  
    public class Jdk8DateTime {
        @Test
        public void practiceLocalDate() {
            LocalDate localDate = LocalDate.now();
            System.out.println(localDate.getMonth().getValue());
            System.out.println(localDate.getDayOfMonth());
            System.out.println(localDate);//2021-01-31
        }
        
        @Test
        public void practiceMills() {
            Long millisecond = Instant.now().toEpochMilli();
            Long millisecondold = System.currentTimeMillis();
            System.out.println(millisecond);//1612099377435
            System.out.println(millisecondold);//1612099377435
        }
        
        @Test
        public void practiceMills2Date() {
            LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(1575356644592L), ZoneId.systemDefault());
            System.out.println(localDateTime);
        }
        
        @Test
        public void practiceDateFormat() {
            LocalDateTime now = LocalDateTime.now();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            String format = now.format(formatter);
            System.out.println(format);//2019-12-03 15:09:38
        }
        
        @Test
        public void practiceString2Date() {
            DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            LocalDateTime parse = LocalDateTime.parse("2019-12-03 13:52:50", dtf);
            System.out.println(parse);
        }
        
        @Test
        public void practiceDuration() {
            LocalDateTime from = LocalDateTime.now();
            LocalDateTime to = LocalDateTime.now().plusDays(1);
            Duration duration=Duration.between(from, to);
            System.out.println(duration.toHours());
            
            Period period=Period.of(2020, 1, 11);
            Period period1 = Period.between(LocalDate.now(), LocalDate.now().plusYears(1));
            System.out.println(period);
            System.out.println(period1);
        }
    }

     如何使用jdk8的api计算到今天结束还有多少秒

          LocalTime localTime = LocalTime.of(23,59,59);
            int leftSec = localTime.toSecondOfDay();
            int trueLeft = leftSec - LocalTime.now().toSecondOfDay();

     时间戳的新写法

    LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()

     Instant的用法

    @Test
        public void testInstant() {
            Instant now = Instant.now();
            System.out.println("now:"+now);
    
            Instant now2 = Instant.now().plusMillis(TimeUnit.HOURS.toMillis(8));
            System.out.println("now:"+now2);
    
            System.out.println("秒数:"+now.getEpochSecond());
            System.out.println("毫秒数:"+now.toEpochMilli());
    
            System.out.println("毫秒数:"+System.currentTimeMillis());
        }
    now:2021-07-06T11:43:19.962Z
    now:2021-07-06T19:43:20.026Z
    秒数:1625571799
    毫秒数:1625571799962
    毫秒数:1625571800027

    Instant和LocalDateTime有啥区别的,其实区别不大。都是可以精确到纳秒。但是Instant是带有时区的,而LocalDateTime是所在机器的时区。

    ===========================2021-12-02===============

    Date 怎么转成LocalDateTime

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    
                Date date = orderOperationLogDTO.getCreateTime();
                if (date != null) {
                    Instant instant = date.toInstant();
                    ZoneId zoneId = ZoneId.systemDefault();
                    LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
                    String payTime = localDateTime.format(formatter);

    转成LocalDateTime才能使用  DateTimeFormatter

  • 相关阅读:
    C#中 ()=>的含义
    大白话系列之C#委托与事件讲解(三)
    大白话系列之C#委托与事件讲解(二)
    C#委托
    php.ini
    mac 登陆phpmyadmin 提示 mysqli_real_connect(): (HY000/2002): No such file or directory
    mac 安装 mysql 5.7
    Mac下的PHP的配置与运行
    phpstorm 2019.1 mac
    激活 phpstorm2019.1 win10
  • 原文地址:https://www.cnblogs.com/juniorMa/p/14354462.html
Copyright © 2011-2022 走看看