java 初始化duration_Java的日期与时间 java.time.Duration (转)
一个Duration对象表示两个Instant间的一段时间,是在Java 8中加入的新功能。
一个Duration实例是不可变的,当创建出对象后就不能改变它的值了。你只能通过Duration的计算方法,来创建出一个新的Durtaion对象。你会在之后的教程中见到的。
创建Duration实例
使用Duration类的工厂方法来创建一个Duration对象,以下是一个使用between()的例子:
Instant first = Instant.now();
// wait some time while something happens
Instant second = Instant.now();
Duration duration = Duration.between(first, second);
访问Duration的时间
一个Duration对象里有两个域:纳秒值(小于一秒的部分),秒钟值(一共有几秒),他们的组合表达了时间长度。注意屯使用System.getCurrentTimeMillis()时不同,Duration不包含毫秒这个属性。
你可以通过以下两个方法得到它们的值:
long seconds = getSeconds()
int nanos = getNano()
你也可以转换整个时间到其它单位如纳秒、分钟、小时、天:
toNanos()
toMillis()
toMinutes()
toHours()
toDays()
举例而言:toNanos()与getNano()不同,toNanos()获得的是Duration整个时间共有多少纳秒,而getNano()只是获得这段时间中小于一秒的部分。你也许会问,为什么没有toSeconds()方法,因为已经有getSeconds()这个方法能达到同样的功能了。
Duration计算
Duration类包含一系列的计算方法:
plusNanos()
plusMillis()
plusSeconds()
plusMinutes()
plusHours()
plusDays()
minusNanos()
minusMillis()
minusSeconds()
minusMinutes()
minusHours()
minusDays()
这些方法所做的事都是相似的,我在这儿也不展示内部实现细节了,就展示一个加减的例子吧:
Duration start = ... //obtain a start duration
Duration added = start.plusDays(3);
Duration subtracted = start.minusDays(3);
第一行创建了一个Duration对象叫start,具体怎么创建可以参考前面的代码。第二三行样例创建了两个新的Duration,通过调用start的加减操作,使得added对象表示的时间比start多三天,而substracted则少三天。
所有的计算方法都会返回一个新的Duration,以保证Duration的不可变属性。
原文:https://blog.csdn.net/tjgykhulj/article/details/69053873
java 初始化duration_Java的日期与时间 java.time.Duration (转)相关推荐
- Java 常用基本类 剖析日期和时间(Java8以前)
这里写目录标题 声明 7.5 剖析日期和时间 7.5.1 基本概念 1.时区 2.时刻和纪元时 3.年历 7.5.2 日期和时间API 1.Date 2.TimeZone 3.Locale 4.Cal ...
- Java 8 中处理日期和时间示例
在Java 8以前,日期和时间处理一直被广大java程序员抱怨太难用,首先是java.util和java.sql中,都包含Date类,如果要进行时间格式化,还需要java.text.DateForma ...
- 【Java】7.5 正则表达式 7.6 Java 8 新增的日期、时间格式器
目录 Pattern类 Matcher类 Java 8 新增的日期.时间格式器 Pattern类 Pattern类的实例是将一个编译好的正则表达式封装起来.因此正则表达式字符串必须先被变异成Patte ...
- java8 日期比较_20 个案例教你在 Java 8 中如何处理日期和时间?
点击左上角蓝字,关注"SpringForAll社区" 专注分享Spring周边技术内容 前言 前面一篇文章写了<SimpleDateFormat 如何安全的使用?>, ...
- Java的日期与时间java.time.Duration的简介说明
转自: Java的日期与时间java.time.Duration的简介说明 下文笔者讲述Duration类的简介说明,如下所示 Duration类简介 Duration对象:表示两个Instant间的 ...
- 日期和时间 - Java处理日期和时间
在计算机中我们经常要处理日期和时间,我们先来看日期,日期它是指某一天,例如2016-12-20,2017-1-1,日期要看成离散的,我们再来看时间,时间有两种概念,一种是不带日期的时间,例如,12:3 ...
- java当月最后一天_Java日期循环,Java获取当月的第一天和最后一天 | 学步园
1.Java日期循环 SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd"); String dateStr1 ...
- java 初始化和清楚_浅谈Java中的初始化和清理
引言 这篇文章我们主要介绍Java初始化和清理的相关内容,这些内容虽然比较基础,但是还是在这边做一个简单的总结,方便以后查阅. 初始化过程 Java尽力保证:所有变量在使用之前都会得到恰当的初始化(对 ...
- java 初始化duration_Java 8-Duration 详解
最近发现spring boot中的有些配置使用了 Duration ,于是详细的看了 Duration 这个类 Duration 是在 Java 8中加入的,主要是用来计算日期,差值之类的. Dura ...
最新文章
- Connector for Python
- 什么时候应该将花括号用于ES6导入?
- python接口和抽象类的区别_接口和抽象类有什么区别?
- 变更控制管理流程图_制度是最好的老板,流程就是最好的管理!流程建立法则(附案例)...
- MIT研究生解说数学体系
- 漫步数学分析二十九——幂级数
- css33d坐标系,CSS3-3D技术
- python 读取合并单元格 视频_Python如何使用xlrd实现读取合并单元格
- 14 exec/fork/wait cycles for Process Management
- Spring boot MultipartResolver
- linux日志级别的正确使用(printk)
- 关于mongodb的学习与探索二
- 爬虫CASE01:反爬策略之使用随机user-agent模拟浏览器的网页爬取
- 查询域名对应的IP以及查询该IP是否已经备案开放80端口
- [NOIP2007]矩阵取数游戏(详细题解、含多种思路)
- 基于darknet的voc数据集训练和mAP测试
- Apache-Ant下载以及安装步骤
- php踩过的那些坑(2) strpos引发的血案
- 如何将阿里图标库的引入项目中?
- dedecms联动筛选_织梦联动类别联动筛选搜索查询功能插件
热门文章
- 一文讲透赫夫曼树算法
- 行波iq调制器_IQ调制
- xynuoj 磁带最大利用率问题 酒馆浪人的博客
- js获取属性值,自定义属性,修改移除属性值
- 短视频app开发:抖音源码,杂货铺or藏宝阁?
- 甜甜用计算机计算1050,甜的滋味_作文1050字_初二作文_第一范文网
- Android程序使用真机测试Tomcat搭建的本地服务器
- 【C++】磁盘文件的输入和输出
- 10秒破解一辆特斯拉?!网安人员再曝特斯拉低级漏洞,成本只要1000块?
- 51nod 1757大灾变(拆点二分网络流)