Java8出来已那么多年了,java.time包之前一直没有使用过,最近正好有用到,在此做个记录。

上图列出了java.time包下的类,接下来我们详细看下其中每个类的用法。

Clock:获取到当前时间点,包含时区信息,该类是抽象类,其实现类由其内部类实现,也可以自定义其实现类。

Clock方法描述:

  • getZone():获取创建日期时间的时区;
  • withZone(ZoneId zone):返回一个指定时区clock副本;
  • instant():返回instant实例;
  • millis():获取当前instant实例toEpochMilli()返回毫秒;
import java.time.Clock;
import java.time.Instant;
import java.time.ZoneId; public class ClockDemo { public static void main(String[] args) {
systemClock();
} public static void systemClock() {
ZoneId zoneIdParam = ZoneId.of("Asia/Tokyo");
// 获取UTC时区clock实例
Clock clock = Clock.systemUTC();
System.out.println("************UTC************");
descriptionClock(clock, zoneIdParam); // 获取默认时区
System.out.println("************default zone************");
clock = Clock.systemDefaultZone();
descriptionClock(clock, zoneIdParam); // 指定时区
ZoneId zoneId = ZoneId.of("Asia/Yerevan");
System.out.println("************specific zone************");
clock = Clock.system(zoneId);
descriptionClock(clock, zoneIdParam);
} public static void descriptionClock(Clock clock, ZoneId zoneIdParam) {
System.out.println("************begin************");
displayInfo(clock); clock = clock.withZone(zoneIdParam);
System.out.println("************change zone*************");
displayInfo(clock);
System.out.println("************end**************");
} private static void displayInfo(Clock clock) {
ZoneId zoneId = clock.getZone();
System.out.println("当前时区:" + zoneId.getId());
Instant instant = clock.instant();
System.out.println("当前时间(ISO-8601):" + instant);
long currentTime = clock.millis();
System.out.println("当前时间毫秒:" + currentTime);
}
}
************UTC************
************begin************
当前时区:Z
当前时间(ISO-8601):2019-09-28T08:58:42.802Z
当前时间毫秒:1569661122869
************change zone*************
当前时区:Asia/Tokyo
当前时间(ISO-8601):2019-09-28T08:58:42.869Z
当前时间毫秒:1569661122869
************end**************
************default zone************
************begin************
当前时区:Asia/Shanghai
当前时间(ISO-8601):2019-09-28T08:58:42.873Z
当前时间毫秒:1569661122873
************change zone*************
当前时区:Asia/Tokyo
当前时间(ISO-8601):2019-09-28T08:58:42.873Z
当前时间毫秒:1569661122873
************end**************
************specific zone************
************begin************
当前时区:Asia/Yerevan
当前时间(ISO-8601):2019-09-28T08:58:42.874Z
当前时间毫秒:1569661122874
************change zone*************
当前时区:Asia/Tokyo
当前时间(ISO-8601):2019-09-28T08:58:42.874Z
当前时间毫秒:1569661122874
************end**************

未完待续

最新文章

  1. ng-selected ng-change
  2. oracle迁移postgres之-Ora2Pg
  3. Git 忽略文件
  4. 用php实现遍历目录
  5. ReferenceError: Sys is not defined
  6. 在VS2012下不安装VS2010编译VS2010的工程
  7. 关于SWT中的GridLayout布局方式
  8. CSS3 :nth-of-type() 选择器
  9. HDU 2653 - Waiting ten thousand years for Love
  10. 【转】jqGrid学习之安装
  11. 201521123087 《Java程序设计》第11周学习总结
  12. 自学Zabbix3.5.1-监控项item-key详解
  13. Android的DatePicker和TimePicker-android学习之旅(三十八)
  14. vue.js 官网及组件网站记录
  15. 【CTF杂项】常见文件文件头文件尾格式总结及各类文件头
  16. LeetCode--No.015 3Sum
  17. Hadoop大数据分析应用场景
  18. Linux内存管理--用户空间和内核空间【转】
  19. JavaScript页面跳转的一些实现方法
  20. AIDL--------应用之间的通信接口

热门文章

  1. 让IE8和IE9支持 placeholder
  2. css,scss解决样式:表格的重叠边框
  3. tp5商城
  4. PHP大文件上传断点续传解决方案
  5. BZOJ 3551: [ONTAK2010]Peaks加强版 Kruskal重构树+dfs序+主席树+倍增
  6. Nowcoder 练习赛 17 C 操作数 ( k次前缀和、矩阵快速幂打表找规律、组合数 )
  7. 51nod 1402 最大值(贪心)
  8. Springboot 注册拦截器
  9. windows 简单实用Elasticsearch
  10. Java第09次实验(IO流)--实验报告