Java 时间类(上):JDK7 及以前时间类 Date、SimpleDateFormat、Calendar 最全总结
一、时间相关基础知识点
在学习 Java 时间类之前,我们先搞懂时间标准和单位换算,这是所有时间类的底层基础。
1. 时间标准
- GMT(Greenwich Mean Time):格林尼治时间,老式标准时间
- UTC(Coordinated Universal Time):世界协调时间,目前使用原子钟计时,是现代标准
2. 时间单位与换算
单位从小到大:秒 (s) → 毫秒 (ms) → 微秒 (μs) → 纳秒 (ns) → 皮秒 (ps) → 飞秒 (fs) 相邻单位进率:1000
公式: 1s = 10^3 ms = 10^6 μs = 10^9 ns = 10^12 ps = 10^15 fs
Java 中所有时间类,底层存储都是毫秒值:从 1970 年 1 月 1 日 00:00:00(UTC)到当前时间的总毫秒数。
二、Date 时间类
1. 概述
java.util.Date,必须导包- 表示一个瞬间,精确到毫秒
- 可以看做是 Java 写好的时间 JavaBean
2. 构造方法
| 方法名 | 说明 |
|---|---|
public Date() | 创建对象,表示当前系统时间 |
public Date(long date) | 创建对象,表示指定毫秒值对应的时间 |
3. 成员方法
| 方法名 | 说明 |
|---|---|
public void setTime(long time) | 设置/修改时间毫秒值 |
public long getTime() | 获取时间对象对应的毫秒值 |
4. 代码示例
import java.util.Date;
public class DateDemo01 {
public static void main(String[] args) {
// 1. 获取当前时间
Date d1 ();
System.out.println(d1);
();
System.out.println(d2);
d2.setTime();
System.out.println(d2);
d2.getTime();
System.out.println(time);
}
}


