Java中的时间使用标准类库的Date类表示,使用距离一个固定的时间点的毫秒数(可正可负,long类型)表达一个特定的时间点。
固定的时间点叫纪元(epoch),是UTC时间1970年1月1日 00:00:00。
UTC(Universal Time Coordinated世界调整时间)与GMT(Greeenwich Mean Time格林威治时间)一样,是一种具有实际意义的科学标准时间。
1.Date类
Java.util.Date类封装日期及时间信息。
Date类的大多数用于进行时间分量计算的方法已经被Calendar取代。
2.SimpleDateFormat类
Java.text.SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类。
根据一个特定的日期格式,使得字符串与date之间相互转换。它允许:
格式化(日期—>文本) final Stirng formate(Date date) Date -> String
解析(文本—>日期)和规范化 Date parse(String source) throws ParseException String -> Date
构造方法:
SimpleDateFormat() //无参构造
SimpleDateFormat(String pattern) //用给定的模式和默认语言环境的日期格式符号构造
方法:
字符 | 含义 | 示例 |
y | 年 | yyyy年—2018年;yy—18年 |
M | 月 | MM月—07月;M月—7月 |
d | 日 | dd日—09日;d日—9日 |
E | 星期 | E—星期日 |
a | AM或PM标识 | a—下午(PM) |
H | 小时(24小时制) | HH:mm:ss——21:31:20 Hh(a):mm:ss——09(下午):31:21 |
h | 小时(12小时制) | |
m | 分钟 | |
s | 秒 |
注意:大写的M表示月,小写的m表示分钟,大写的H表示24小时制,小写的h表示12小时制
3.Calendar类
Java.util.Calendar类用于封装日历信息,其主要作用在于其方法可以对时间分量进行计算。
Calendar是抽象类,其具体子类针对不同的国家的日历系统,其中应用最广泛的是GregorianCalendar(格力高里历,即通用的阳历),对应世界上绝大数国家/地区使用的标准日历系统。
方法:
方法 | 作用 |
Date getTime() | 该方法用于获取一个Date对象,该对象表示的时间就是当前Calendar所表示的时间 |
void setTime(Date date) | 该方法用于使Calendar表示给定的Date所表示的时间 |
int get(int field) | 根据给定的时间分量获取对应的值 |
void set(int field, int value) | 设置日历某个分量的值 |
void add(int field,int n) | 为当前Calendar指定时间分量上累加给定值若传入负数,则是累减 |
int getActualMaximum(int field) | 获取某个时间分量所允许的最大值 |