Date
1、该类对象用于表示一个特定的瞬间,根据构造方法使用的不同,表示不同的瞬间
2、构造方法:大部分构造方法都已经过时(可以使用,但是不建议使用,eclipse中有横线)
Date():表示当前时间
Date(long time):表示一个时间对象,表示的是从1970年1月1日00:00:00时间经过time毫秒之后的时刻
3、成员方法:
after(Date d):比较调用者是否在在参数时间d之后
before(Date d):比较调用者是否在参数时间d之前
getTime():获取当前Date对象描述的时间的毫秒值
setTime(long time):将制定的毫秒值给当前Date对象进行设置
Date date=new Date(System.currentTimeMillis());
//当前日期
System.out.println(date);
//从1970-1-1 0:0:0到现在所经历的时间毫秒数
System.out.println(date.getTime());
//时间原点
Date date1=new Date();
date1.setTime(0);
System.out.println(date1);
//比较日期前后,不能用>,<
System.out.println(date1.after(date));
System.out.println(date1.before(date));
DateFormat
1、直接打印Date对象全是英文,不好阅读,需要有一个格式对象,将Date对象的内容以指定的格式输出出来。
2、DateFormat类,抽象类,不能创建对象,需要使用其子类创建对象,有一个已知子类,SimpleDateFormat类型。
3、DateFormat类型在text包中,在使用的时候需要导包
4、构造方法DateFormat():用于给子类去访问
5、重要成员方法:
String format(Date d):将参数对象d,格式化为一个字符串
Date parse(String str):将参数字符串str,解析成一个Date类型的对象
SimpleDateFormat
1、DateFormat是抽象类,无法创建对象,所以只能使用其子类来创建对象,并调用方法,使用SimpleDateFormat类型,可以使用DateFormat中的所有方法。
2、构造方法:
SimpleDateFormat():使用默认的格式创建格式对象,默认格式为:18-12-20 下午2:20
SimpleDateFormat(String pattern):使用给定的模式创建格式对象。
3、常用模式:
Date d = new Date(System.currentTimeMillis());
System.out.println(d);
// 英文版时间
DateFormat f = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
String time = f.format(d);
System.out.println(time);
// 中文版时间
DateFormat f2 = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
String time2 = f2.format(d);
System.out.println(time2);
String t = "2019-07-26 10:47:56";
// 将字符串转换为时间
Date parse = f.parse(t);
//计算一个日期距离原始时间的毫秒数
System.out.println(parse.getTime());