首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第一章:String 类
1.1 概述
1.2 字面量的定义方式
1.3 String 的特点
1.4 String 的内存示意图
1.5 构造 String 对象
1.6 字符串拼接问题
1.7 字符串对象的比较
1.8 空字符串的比较
1.9 字符串的常用方法
1.10 常见正则表达式
第二章:StringBuilder 类
2.1 概述
2.2 常用方法
第三章:系统相关类
3.1 System 类
3.2 Runtime 类
第四章:数学相关的类
4.1 Math 类
4.2 大数运算类
第五章:数组的相关操作
5.1 数组的算法升华
5.2 数组工具类
第六章:日期时间API
6.1.1 概述
6.1.2 本地日期时间
6.2.3 指定时区日期时间 ZonedDateTime
6.2.4 持续日期/时间 Period 和 Duration
6.2.5 日期时间格式化 DateTimeFormat
第七章:字符编码的发展
7.1 ASCII 码
7.2 OEM 字符集的诞生
7.3 多字节字符集(MBCS)和中文字符集
7.4 ANSI 标准、国家标准以及 ISO 标准
7.5 Unicode 的出现
当前位置:
首页>>
技术小册>>
Java语言基础9-常用API和常见算法
小册名称:Java语言基础9-常用API和常见算法
- Period :表示一段时间的区间,用来度量 年、月、日和几天 之间的时间值。 - 获取 Period 对象: ``` public static Period between(LocalDate startDateInclusive, LocalDate endDateExclusive) {} ``` - 获取区间相差的年份: ``` public int getYears() {} ``` - 获取区间相差的月份: ``` public int getMonths() {} ``` - 获取区间相差的天数: ``` public int getDays() {} ``` - 获取区间相差总的月份: ``` public long toTotalMonths() {} ``` - Duration :表示时间的区间,用来度量 秒和纳秒 之间的时间值。 - 获取 Duration 对象: ``` public static Duration between(Temporal startInclusive, Temporal endExclusive) {} ``` - 获取相差的天数: ``` public long toDays() {} ``` - 获取相差的小时: ``` public long toHours() {} ``` - 获取相差的分钟: ``` public long toMinutes() {} ``` - 获取相差的毫秒: ``` public long toMillis() {} ``` - 获取相差的纳秒: ``` public long toNanos() {} ``` - 示例: ``` package com.github.date.jdk8.demo11; import java.time.LocalDate; import java.time.Period; /** * @author maxiaoke.com * @version 1.0 * */ public class Test { public static void main(String[] args) { LocalDate now = LocalDate.now(); System.out.println("now = " + now); // now = 2021-09-27 LocalDate future = LocalDate.now().plusYears(1).plusDays(1).plusMonths(1); System.out.println("future = " + future); // future = 2022-10-28 Period period = Period.between(now, future); int years = period.getYears(); System.out.println("区间相差的年 = " + years); // 区间相差的年 = 1,其实就是 future 的year - now的year int months = period.getMonths(); System.out.println("区间相差的月 = " + months); // 区间相差的月 = 1,其实就是 future 的month - now的month int days = period.getDays(); System.out.println("区间相差的天 = " + days); // 区间相差的天 = 1,其实就是 future 的day - now的day long totalMonths = period.toTotalMonths(); System.out.println("区间相差几个月 = " + totalMonths); // 区间相差几个月 = 13,实际相差的月 } } ``` 示例: ``` package com.github.date.jdk8.demo12; import java.time.Duration; import java.time.LocalDateTime; /** * @author maxiaoke.com * @version 1.0 * */ public class Test { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); System.out.println("now = " + now); // now = 2021-09-27T13:29:56.105 LocalDateTime feture = LocalDateTime.now().plusYears(1).plusMonths(1).plusDays(1).plusHours(1).plusMonths(1) .plusSeconds(1).plusNanos(1); System.out.println("feture = " + feture); // feture = 2022-11-28T14:29:57.106000001 Duration duration = Duration.between(now, feture); long seconds = duration.getSeconds(); System.out.println("seconds = " + seconds); // seconds = 36896401 int nano = duration.getNano(); System.out.println("nano = " + nano); // nano = 1000001 } } ```
上一篇:
6.2.3 指定时区日期时间 ZonedDateTime
下一篇:
6.2.5 日期时间格式化 DateTimeFormat
该分类下的相关小册推荐:
Java并发编程实战
Java语言基础10-Java中的集合
经典设计模式Java版
Java语言基础4-数组详解
Java并发编程
Java语言基础6-面向对象高级
深入理解Java虚拟机
Java必知必会-Maven初级
Mybatis合辑2-Mybatis映射文件
Java语言基础15-单元测试和日志技术
Mybatis合辑3-Mybatis动态SQL
Java必知必会-Maven高级