一、所属的包
java.util.Date
二、含义
表示特定的瞬间,精确到毫秒。
Tips:
- 毫秒值可以对时间和日期进行计算。(1998-11-15到2019-11-25多少天,先将日期转为毫秒计算,再把毫秒转为日期)
- 英国格林威治规定时间原点:1970-01-01 00:00:00。中国在东八区,我们的时间原点就是1970-01-01 08:00:00
三、常用构造方法
- 无参数构造Date():获取当前时间
- 毫秒值(Long类型)构造Date(Long date):通过毫秒值转换为Date日期
import java.util.Date;
/**
* @date 2019-11-25 20:30
*/
public class DemoDate {
public static void main(String[] args) {
demo01();
demo02();
}
//Date() 获取当前系统的日期和时间
private static void demo01(){
Date date= new Date();
System.out.println("无参数构造,获取到当前时间为:"+date);//Mon Nov 25 20:32:50 CST 2019
}
//Date(long date) 传递毫秒值,把毫秒值转为Date日期
private static void demo02(){
Date date=new Date(0L);
System.out.println("零毫秒构造,获取到的时间为:"+date);//Thu Jan 01 08:00:00 CST 1970
System.out.println("通过currentTimeMillis()方法获取当前的毫秒值为:"+System.currentTimeMillis());//1574685554226
Date date1=new Date(1574685554226L);
System.out.println("当前毫秒值转为Date日期为:"+date1);
}
}
打印:
四、常用的成员方法
Long getTime() :把日期转为毫秒值,相当于System.currentTimeMillis()
五、DateFormat类
所在的包:java.text.DateFormat
含义:是日期/时间格式化子类的抽象类;
作用:格式化(日期-》文本);解析(文本-》日期)
成员方法:
- String format(Date date);
- Date parse(String source);
六、子类:java.text.SimpleDateFormat继承DateFormat
格式化方法
/**
* 构造方法SimpleDateFormat(String pattern);
* 含义:用给定的模式和默认的语言环境的日期格式符号构造 SimpleDateFormat
* 注意:模式区分大小写
* y 年
* M 月
* d 天
* H 时
* m 分
* s 秒
* 模式中的字母不可更改,链接模式的符号可以改变
*/
private static void demo03(){
//把日期格式化为文本
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1=new Date();
String s=sdf.format(date1);
System.out.println(s);//2019-11-25 21:29:28
}
解析方法
public class DemoDate {
public static void main(String[] args) throws ParseException {
demo04();
}
/**
* Date parse(String source)
* 注意:
* public Date parse(String source) throws ParseException
* prase方法声明了一个异常叫ParseException
* 抛出异常的情况:当字符串和构造方法的模式不一样时
* 处理异常:throws继续抛出这个异常;或者try catch自己处理
*/
private static void demo04() throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=sdf.parse("yyyy-MM-dd HH:mm:ss");
System.out.println(date);
}
}