# 周期和持续时间 / Period and Duration

当您编写代码来指定一段时间时,请使用最符合您需要的类或方法: Duration 类, Period 类或 ChronoUnit.between 方法。

甲持续时间测量使用基于时间的值(秒,毫微秒)的时间量。Period 使用基于日期的值(年,月,日)。

注 一天的持续 / Duration 时间正好是 24 小时。一天的时间,当添加到 ZonedDateTime 时,

可能会根据时区而变化。例如,如果它发生在夏令时的第一天或最后一天。

# Duration

在测量机器时间的情况下,Duration 最合适,例如使用 Instant 对象的代码。Duration 对象以秒或纳秒度量,

不使用基于 Date 的结构,如年、月和日,尽管类提供了转换为天数、小时和分钟的方法。一个 Duration 可以有一个负值,

如果它是在开始点之前发生的端点创建的。

以下代码以纳秒计算两个瞬间之间的持续时间:

比如:将 10 秒变成一个 Duration,再让 start 加上这个 Duration,也就是加 10 秒;

这种 api 可能会更灵活,在计算完两个时间点的持续时间后,还可以进行计算

# ChronoUnit

定义了用于测量时间的单位。当你想要在一个单位的时间内测量一段时间,比如几天或几秒时,

ChronoUnit.between 可以做到。between 方法与所有基于时间的对象一起工作,但是它只返回单个单元的数量。

下面的代码以毫秒为间隔计算两个时间戳之间的差距:

而 Duration 类则可以转换为更多的时间单位;

# Period

要用基于日期的值(年、月、日)来定义大量的时间,使用周期类。周期类提供了各种 get 方法,

例如 getMonths, getDays 和 getYears,这样您就可以从周期中提取出时间的数量。

时间由三个单位组成:月、日、年。为了显示在一个单位时间内测量的时间量,比如天数,你可以使用 ChronoUnit.between 的方法。

下面的代码报告了你的年龄,假设你是在 1960 年 1 月 1 日出生的。周期类用于确定数年、月和日的时间。

同一时期,在总天数中,是通过使用 ChronoUnit.between 来确定的。在方法之间,在括号中显示:

这些计算不考虑时区差异。举个例子,如果你出生在澳大利亚,但现在住在班加罗尔,这就会略微影响你的确切年龄。

在这种情况下,使用一个周期与 ZonedDateTime 类一起使用。当你向一个 ZonedDateTime 添加一个 Period 时,时间差异就会被观察到。

# 总结 Duration : 可被转换为天,小时,分钟,秒,毫秒,纳秒

Period :可被转换为年,月,天

ChronoUnit:可以测量任意一个单位的间隔时间;也提供了各种单位常量

时间周期 java_周期和持续时间 / Period and Duration相关推荐

  1. Java8中使用以下类计算日期时间差:Period、Duration、ChronoUnit

    一.简述 在Java8中,我们可以使用以下类来计算日期时间差异: 1.Period 2.Duration 3.ChronoUnit 二.Period类 主要是Period类方法getYears(),g ...

  2. JAVA时间存储类Period和Duration

    JAVA时间存储类Period和Duration 前言 在JDK1.8中区分了时间和日期的概念,所以有了两个对应的类,LocalDate和LocalTime,区别如下 LocalDate表示日期,不会 ...

  3. Java 8 – Period and Duration examples

    Few examples to show you how to use Java 8 Duration, Period and ChronoUnit objects to find out the d ...

  4. 03Java常用API-19. Jdk8新增的日期Date API(LocalDateTime,LocalDate,LocalTime,Instant,Period,Duration)

    概述 LocalDateTime:包含了日期及时间. LocalDate:不包含具体时间的日期. LocalTime:不含日期的时间. Instant:代表的是时间戳. 获取日期时间的信息 Local ...

  5. Java: LocalDate、LocalDateTime、Duration、Period、TimeUnit类的一些用法

    一.LocalDate 初始化操作 // 获取当前年月日 LocalDate now = LocalDate.now(); System.out.println(now); // 2021-03-13 ...

  6. python自相关函数提取基音周期_Python语音基础操作--4.2基音周期检测

    <语音信号处理试验教程>(梁瑞宇等)的代码主要是Matlab实现的,现在Python比较热门,所以把这个项目大部分内容写成了Python实现,大部分是手动写的.使用CSDN博客查看帮助文件 ...

  7. 《MATLAB语音信号分析与合成(第二版)》:第8章 基音周期的估算方法

    <MATLAB语音信号分析与合成(第二版)>:第8章 基音周期的估算方法 前言 1. 数据与函数路径设置 2. MATLAB仿真一:基音周期提取的预处理 3. MATLAB仿真二:倒谱法的 ...

  8. ASP+页缓存OutputCache Duration用法

    声明的方式控制   ASP.NET   页或页中包含的用户控件的输出缓存策略.有关输出缓存的更多信息,请参见   ASP.NET   缓存功能.         <%@   OutputCach ...

  9. java duration 时间差_java8 计算时间差的方法示例

    java8 计算时间差的方法示例 发布于 2020-4-3| 复制链接 摘记: 一.简述 在Java8中,我们可以使用以下类来计算日期时间差异: 1.Period 2.Duration 3.Chron ...

最新文章

  1. 有福了,J2EE面试题集锦(附答案)
  2. android 显示 PDF 文件
  3. python基础常用语句-Python基础语法
  4. 柴油发电机组的基本结构及工作特性
  5. intellij服务器证书不受信任,ssl证书不受信任怎么办?ssl证书不受信任解决方案有什么?...
  6. MVC应用程序播放FLV视频,部分视图可多地方重复引用
  7. 10 件在 PHP 7 中不要做的事情
  8. 导 Kinect2库,opencv库,pcl库
  9. iOS隐私权限的设置
  10. ssh 远程连接、上传下载命令
  11. rt-thread驱动篇(02)---STM32F429板卡外设驱动添加
  12. ES07--性能调优03(全面考量)
  13. 给移动硬盘装上LINUX全攻略,给移动硬盘装上LINUX全攻略
  14. 假币问题详解(枚举的经典例题)
  15. 作为互联网人,这些潮流词汇你懂吗?
  16. httpwebrequest下载文件失败的解决方案
  17. C语言单链表,能直接运行的代码!
  18. 大轮明王鸠摩智教你找核心竞争力
  19. 排版设计常用术语和常识
  20. 动态时间规整算法DTW

热门文章

  1. gitee怎么看用户名_教你手机怎么远程连接云服务器
  2. mysql计算后精度增大_Mysql用法汇总
  3. 设计企业网站大纲_哈尔滨企业网站设计费用,网站开发公司_华阳网络
  4. 使用secondary sort实现数据关联 完整示例代码
  5. shell的基础学习
  6. 基于数据挖掘的旅游推荐APP(三):热门景点模块
  7. centos 安装testlink出现:You don't have permission to access /testlink on this server
  8. 35岁的程序员正在消失?No,我认识了一个50岁的程序员!
  9. 触目惊心,超过 8000+ 漏洞 Redis 暴露在云端!
  10. 40岁了,还要跟小年青一样埋头敲代码吗?