时间API
1. 时间API 我们的时间在java里是long类型的整数,这个整数称之为时间戳(也叫格林威治时间),即从1970-01-01到现在为止所经过的毫秒数,单有这个时间戳是不能准确表达世界各地的时间,还需加上时区。比如现在输出笔者本地的时间 Mon Feb 10 09:48:43 GMT+08:00 2020 ,其中 GMT+08:00 表示格林威治时间的东8区,也就是北京时间。 2. 旧时间API java有两套与时间相关的API,分别位于java.util和java.time下,现在更推荐使用time包下的API,由于历史原因,我们还需兼容以前版本的时间函数,所以util也要来学习一下 2.1 Date Date类内部原理 private transient long fastTime; public Date() { this(System.currentTimeMillis()); } public Date(long date) { fastTime = date; } 从变量可以看出java时间戳使用long类型存储 默认构造函数中的 System.currentTimeMillis() 获取的是当前的时间戳 有参构造说明Date类是依赖时间戳的 从API和JDK可以知道Date内部很多函数都弃用了,打上了@Deprecated标签,旧API中也不推荐使用了