Date类
Date类的对象在Java中代表的是当前所在系统的此刻日期时间。
Date的构造器
| 方法名称 | 说明 |
|---|---|
| public Date() | 建一个Date对象,代表的是系统当前此刻日期时间。 |
Date的常用方法
| 方法名称 | 说明 |
|---|---|
| public long getTime() | 获取时间对象的毫秒值 |
Date 类记录时间的2种形式
形式1:日期对象
// 1、创建一个日期对象代表了:当前系统的此刻日期时间对象
Date d = new Date();
System.out.println(d);
形式2:时间毫秒值指的是从1970年1月1日 00:00:00走到此刻的总的毫秒数,应该是很大的
// 2、获取当前时间毫秒值
long time = d.getTime();
System.out.println(time);
案例:计算时间
请计算出当前时间往后走1小时121秒之后的时间是多少。
public class DateDemo1 {
public static void main(String[] args) {
Date date = new Date();
System.out.println("当前时间" + date);
long time = date.getTime();
time += (60 * 60 + 121) * 1000;
date.setTime(time);
System.out.println("经过一小时121秒后的时间" + date);
}
}
注意事项
- 日期对象如何创建,如何获取时间毫秒值?
Date date = new Date();
Long time = date.getTime(); - 时间毫秒值怎么恢复成日期对象
Date d = new Date(time);
d.setTime(time);
SimpleDateFormat类
SimpleDateFormat 类作用
- 可以对Date对象或时间毫秒值
格式化成我们喜欢的时间形式。 - 也可以把字符串的时间形式
解析成日期对象。
SimpleDateFormat的构造器
| 构造器 | 说明 |
|---|---|
| public SimpleDateFormat() | 构造一个SimpleDateFormat,使用默认格式 |
| public SimpleDateFormat(String pattern) | 构造一个SimpleDateFormat,使用指定的格式 |
SimpleDateFormat的格式化方法
| 格式化方法 | 说明 |
|---|---|
| public final String format(Date date) | 将日期格式化成日期/时间字符串 |
| public final String format(Object time) | 将时间毫秒值式化成日期/时间字符串 |
SimpleDateFormat解析字符串时间成为日期对象
| 解析方法 | 说明 |
|---|---|
| public Date parse(String source) | 从给定字符串的开始解析文本以生成日期 |
案例:格式化时间
请计算出 2021年08月06日11点11分11秒,往后走2天14小时49分06秒后的时间是多少
public class SimpleDateFormatDemo1 {
public static void main(String[] args) throws ParseException {
// 目标:学会使用SimpLeDateFormat解析字符串时间成为日期对象。
// 有一个时间 2021年08月06日 11:11:11 往后 2天 14小时 49分 06秒后的时间是多少。
// 1、把字符串时间拿到程序中来
String datestr = "2021年08月06日 11:11:11";
// 2、把字符串时间解析成日期对象(形式必须与被解析时间的形式完全一样,否则运行时解析报错!)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date d = sdf.parse(datestr);
// 3、往后走2天14小时 49分 06秒
long time = d.getTime() + (2L * 24 * 60 * 60 + 14 * 60 * 60 + 49 * 60 + 6) * 1000;
// 4、格式化这个时间毫秒值就是结果
System.out.println(sdf.format(time));
}
}
Calendar概述
- Calendar代表了系统此刻日期对应的日历对象。
- Calendar是一个抽象类,不能直接创建对象。
Calendar常用方法
| 方法名 | 说明 |
|---|---|
| public int get(int field) | 取日期中的某个字段信息。 |
| public void set(int field,int value) | 修改日历的某个字段信息。 |
| public void add(int field,int amount) | 为某个字段增加/减少指定的值 |
| public final Date getTime() | 拿到此刻日期对象。 |
| public long getTimeInMillis() | 拿到此刻时间毫秒值 |
注意
Calendar如何去得到日历对象的?
public static Calendar getInstance():获取当前日历对象
注意:calendar是可变日期对象,一旦修改后其对象本身表示的时间将产生变化。