java.time包常用类API学习记录
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**************
未完待续
java.time包常用类API学习记录的更多相关文章
- 《java从入门到精通》学习记录
目录 <Java从入门到精通>学习记录 3 基础的基础部分: 3 一. 常量与变量 3 1. 掌握: 3 (1) .常量与变量的声明方式: 3 (2) .变量的命名规则: 3 (3) .变 ...
- java io包File类
1.java io包File类, Java.io.File(File用于管理文件或目录: 所属套件:java.io)1)File对象,你只需在代码层次创建File对象,而不必关心计算机上真正是否存在对 ...
- java中的常用类(二)
java中的常用类(二) Math类 Math类的声明:public final class Math extends Object Math类是与数学计算有关的类,里面的方法都是静态方法,直接使用类 ...
- java swing中Timer类的学习
最近在完成学校课程的java平时作业,要实现一个计时器,包含开始.暂停以及重置三个功能.由于老师规定要用这个timer类,也就去学习了一下,顺便记录一下. 首先呢去查了一下java手册上的东西,发现t ...
- 【Java基础】常用类
常用类 字符串相关的类 String类:代表字符串,使用一对 "" 引起来表示. public final class String implements java.io.Seri ...
- JAVA异常处理、常用类、反射、集合
异常 异常:在Java中是指被一个方法抛出的对象. 分类:检查异常.运行时异常.错误 运行时异常(uncheckd):RuntimeException和其子类 检查异常(checkd/搜检异常):指E ...
- java 中的常用类
Java 中的包装类 相信各位小伙伴们对基本数据类型都非常熟悉,例如 int.float.double.boolean.char 等. 基本数据类型是不具备对象的特性的,比如基本类型不能调用方法.功能 ...
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包相关 接口 api
Android 网络编程相关的包 : 9 包, 20 接口, 103 类, 6 枚举, 14异常; -- Java包 : java.net 包 (6接口, 34类, 2枚举, 12异常); -- An ...
- 20175211 2017-2018-2 《Java程序设计》第六周学习记录(2)
目录 1.File类 2.FilenameFilter接口 3.输入输出流 4.使用Scanner解析文件 参考资料 <Java 2实用教程>第10章 输入.输出流 1.File类 常用方 ...
随机推荐
- STM32的系统时钟设置SystemClock_Config()探究
一.首先了解几个硬件名词: stm32有多种时钟源,为HSE.HSI.LSE.LSI.PLL,对于L系统的,还有一个专门的MSI 1.HSE是高速外部时钟,一般8M的晶振,精度比较高,比较稳定. 2. ...
- jquery error()方法 语法
jquery error()方法 语法 作用:当元素遇到错误(没有正确载入)时,发生 error 事件.error() 方法触发 error 事件,或规定当发生 error 事件时运行的函数.该方法是 ...
- Compress Words
E. Compress Words 直接套 KMP 即可(那为什么打 cf 的时候没有想到...),求出后一个单词(word)的前缀数组,然后从前面已得的字符串的末尾 - word. length ( ...
- C++入门经典-例6.17-输出每行数组中的最小值
1:代码如下: // 6.17.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using ...
- 第六周总结 & 实验报告(四)
第六周小结 一.instanceof关键字 在Java中使用instanceof关键字判断一个对象到底是哪个类的实例,返回boolean类型 1.instanceof关键字的作用 例c ...
- 第11组 Beta冲刺(2/5)
第11组 Beta冲刺(2/5) 队名 不知道叫什么团队 组长博客 https://www.cnblogs.com/xxylac/p/11997386.html 作业博客 https://edu.cn ...
- android 注入框架 DI
android 主要注入框架以及github如下: (1)Roboguice https://github.com/roboguice/roboguice (2)Butterknife https:/ ...
- synchronized 读写同步
synchronized 读写同步 这是一道面试题,很多人也遇到了. 要求:1.读-读 不用线程同步.2.读-写 要求线程同步,写的时候不能读.3.写-写同步.写的时候不能写. java lock读写 ...
- 鬼知道NOI会不会成为下一个奥数
认真写作文不可能的,这辈子不可能认真写作文的. (月考,期末考,高考即将到达战场,真香警告) 以下应该成为原稿!!! 真.喜欢写感悟,但我感觉我可能把它写的有点商业化,商业化的文章不可能放的,所以我尽 ...
- python出现AttributeError: module ‘xxx’ has no attribute ‘xxx’错误时,两个解决办法
运行python程序时,也许会出现这样的错误:AttributeError: module ‘xxx’ has no attribute ‘xxx’: 解决该错误有两种方法 1.手动安装该模块 2.检 ...