一:Date
用来做关于时间的问题。
存在于java.util.Date包。
用来封装一个毫秒值表示一个精确的时间点。
从1970-1-1 0点开始的毫秒值。
构造方法:new Date():封装的是系统当前时间的毫秒值
常用方法:
getTime():取内部毫秒值
setTime():存取内部毫秒值
getMonth():获取当前月份
getHours():获取当前小时
compareTo(Date):当前对象与参数对象比较。当前对象大返回正数,小返回负数,相同0。
测验常用方法:
public class Test_Date {
public static void main(String[] args) {
//1创建对象
Date date=new Date();
//常用方法
System.out.println(date.getTime());//取内部毫秒值
System.out.println(date.getYear());//与1900年相差的时间
System.out.println(date.getMonth());//当前月份(小1)
System.out.println(date.getDate());//当前日期
System.out.println(date.getHours());//获取当前的小时时间
System.out.println(date.getMinutes());//获取当前分钟时间
System.out.println(date.getSeconds());//获取当前秒时间
}
}
结果:
二:SimpleDateFormate
SimpleDateFormate是专门用来格式化时间的工具类,既可以将字符串类的时间转化成时间类型,也可以将时间类型的时间转化成字符串类型。
构造方法:SimpleDateFormat(String pattern) 使用给定的模式和默认的日期格式符号默认 FORMAT现场构建了一个 SimpleDateFormat。
常用的方法:
常用方法测试:
//测试格式化时间工具类
public class Test_SimpleDateFormat {
public static void main(String[] args) throws ParseException {
//创建对象
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//常用方法
//接收用户的年月日
String date;
date=new Scanner(System.in).nextLine();
try {
Date d=sdf.parse(date);
System.out.println(d.getYear());
String s=sdf.format(d);
System.out.println(s+1);//+1用来检验是否是字符串
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//计算存活天数
}
}
结果:
小练习:输入生日,返回总共活了多少天
//测试格式化时间工具类
public class Test_SimpleDateFormat {
public static void main(String[] args) throws ParseException {
//计算存活天数
// 创建格式化工具类
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
// 输入时间
String bir=new Scanner(System.in).nextLine();
// 将输入的字符串时间转化成时间类型
Date da=sdf.parse(bir);
// 获取生日时间的毫秒数
long birth=da.getTime();
// 获取现在时间的毫秒数
long now = System.currentTimeMillis() ;
// 进行计算天数
long day=(now-birth)/1000/60/60/24;
System.out.println(day);
}
}
结果: