概述
类 Date:是一个表示日期和时间的类
表示特定的瞬间,精确到毫秒
一千毫秒等于一秒
作用:计算某个时间段中间一共有多少天
可以日期转换为毫秒进行计算,计算完毕,再把毫秒转换为日期
1.把日期转换为毫秒:
当前的日期:2019-12-31
时间原点(0毫秒):1970年1月1日 00:00:00
就是计算当前日期到时间原点之间一共经历了多少毫秒。
1577757246483是一个long类型的值
2.把毫秒转换为日期:1天 = 24 * 60 * 60 * 1000 = 86400000毫秒
注意事项:
中国属于东八区,会把时间增加八个小时,我们的1970年是属于英国格林威治的时间,我们应该把时间增加八个小时。
即:1970年1月1日 08:00:00.
Date类的方法
Date类的空参数构造方法:
注:直接打印对象名打印的不是地址,我们就说Date类重写了toString()方法
CST指的是中国标准时间
Date类的带参数构造方法:
Date类除了这两个构造方法,还有一个普通的成员方法:getTime()方法
相当于之前写的System.currentTimeMillis ()方法
DateFormat类
我们用之前的Date类打印出来的日期,是一个英文状态下的日期,这个日期我们看的很不舒服。我们就可以使用DateFormat类格式化日期,把他转换成为我们看着舒服的字符串格式。
DateFormat类他是一个文本类,所以他在java.text包下
DateFormat:是日期/时间格式化子类的抽象类
作用:
格式化(也就是日期–>文本)、解析(文本->)日期。
成员方法:
String format(Date date)
按照指定的模式,把Date日期,格式化为符合模式的字符串
Date parse(String source)
把符合模式的字符串,解析为Date日期
要注意的是DateFormat类是一个抽象类,
一个类只要是抽象类,他就无法直接创建对象使用,可以使用DateFormat类的子类
SimpleDateFormat
SimpleDateFormat的构造方法:
SimpleDateFormat(String pattern)
用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
参数:String pattern指的是传递指定的模式,pattern就是模式的意思。
模式是区分大小写的!要是大写统一都是大写
y m d h m s对应年月日时分秒
注意:模式中的字母不能更改,连接符号可以改。
yyyy年mm月dd日 hh时mm分ss秒
- 把Date日期,格式化为符合模式的字符串
2.把符合模式的字符串,解析为Date日期
计算一个人出生了多少天
我们也可以使用键盘输入的形式。
这儿要注意,输入字符串不能使用next(),因为next()会把空格当成分隔符。
应该使用nextLine(),