1. 日期类Date
1.1 概述
存在于java.util.Date包。
用来封装一个毫秒值表示一个精确的时间点。
从1970-1-1 0点开始的毫秒值。
1.2 创建对象
new Date():封装的是系统当前时间的毫秒值
new Date(900000000000L):封装指定的时间点
1.3 常用方法
getTime():取内部毫秒值
setTime():存取内部毫秒值
getMonth():获取当前月份。已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.MONTH) 取代。
getHours():获取当前小时。已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.HOUR_OF_DAY) 取代。
compareTo(Date):当前对象与参数对象比较。当前对象大返回正数,小返回负数,相同0。
1.4 练习1:测试日期类的常用方法
import java.util.Date;
public class bb {
public static void main(String[] args) {
Date d = new Date();
System.out.println(d);//输出当前时间
System.out.println(d.getTime());//输出1970-1-1至今的毫秒值
System.out.println(d.getMonth());//获取当前月份
System.out.println(d.getHours());//获取当前小时
}
}
2. 日期工具SimpleDateFormat
2.1 概述
日期格式化工具,可以把Date对象格式化成字符串,也可以日期字符串解析成Date对象。
2.2 创建对象
new SimpleDateFormat(格式)
格式:yyyy-MM-dd HH:mm:ss
yyyy:年
MM:月
dd:日
HH:24小时
mm:分
ss:秒
2.3 常见方法
format(Date):把Date格式化成字符串
parse(String):把String解析成Date
2.4 案例计算存活天数
接收用户输入的出生日期,计算存活天数
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Test {
public static void main(String[] args) throws ParseException {
//生存XX天
String birth = new Scanner(System.in).nextLine();
SimpleDateFormat s =new SimpleDateFormat("yyyy-MM-dd");
Date date = s.parse(birth);
long birthday = date.getTime();//出生的毫秒值
long now=System.currentTimeMillis();//现在的毫秒值
System.out.println((now-birthday)/1000/60/60/24);
}
}