zoukankan      html  css  js  c++  java
  • Java8中Instant和LocalDate来计算时间或者日期间隔

    /**
    * java.time.Instant
    * java.time.Duration
    * Instant 默认使用UTC时区:2019-01-24T14:01:32.258Z
    * mongo中的时间与系统时间相差了8个小时,这是因为mongo中的date类型以UTC(Coordinated Universal Time)存储,就等于GMT(格林尼治标准时)时间。而系统时间使用的是GMT+0800时间,两者正好相差8个小时。
    * UTC + 时区差 = 本地时间 北京时区是东八区,领先UTC八个小时
    * Duration:用于计算两个“时间”间隔
    */
    public void timeInterval() throws InterruptedException{
    Instant start = Instant.now();
    Thread thread = new Thread();
    thread.sleep(2000);
    Instant end = Instant.now();
    System.out.println("总耗时={}ms:"+Duration.between(start, end).toMillis());//总耗时={}ms:2007
    System.out.println(start);//2019-08-07T03:22:17.737Z
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
    System.out.println(df.format(new Date()));// new Date()为获取当前系统时间 2019-08-07 11:22:17
    }

    /**
    * java.time.LocalDate
    * LocalDate的使用
    * 计算两个日期之间间隔多少天
    * 使用Period来获取间隔,用于计算两个“日期”间隔
    */
    public void dateInterval(){
    LocalDate startDate = LocalDate.of(2019, 1, 1);
    LocalDate endDate = LocalDate.now();

    Period period = Period.between(startDate, endDate);
    System.out.println("日期间隔为:"+period); //日期间隔为:P7M6D
    System.out.println("日期间隔为:"+period.getYears()+"年-"+period.getMonths()+"月-"+period.getDays()+"日"); //日期间隔为:0年-7月-6日

    }

  • 相关阅读:
    nyoj----522 Interval (简单树状数组)
    HDUOJ-----2838Cow Sorting(组合树状数组)
    HDUOJ---2642Stars(二维树状数组)
    HDUOJ -----Color the ball
    ACM遇到的问题与解决方案
    ELK架构下利用Kafka Group实现Logstash的高可用
    Linux给力的Shell命令
    i18n 语言码和对应的语言库
    jar启动脚本shell
    持续集成和部署工具GOCD
  • 原文地址:https://www.cnblogs.com/wueryuan/p/11314753.html
Copyright © 2011-2022 走看看