Date类:日期类
·1 Data类有两大功能,1把日期解释为年月日时分秒
2运行格式化和解析日期字符串
·2 Date类中的以上两大功能分别被Calendar类和DateFormat类替换掉了
·3 在date类中出现了大量的以弃用的和过时的方法。
DataFormat类:Java.text包中
是一个抽象类
直接子类SimpleDateFormat
作用:格式化日期并解析日期时间,通常用于日期和string字符串之间的转换
日期--》文本 文本--》日期
借助Date对象
Calendar类 日历类:实现日期和时间之间的转换
是一个抽象类
作用获取日历上的时间字段值
Calendar的对象的创建通过静态的getInstance()
Date:
public static void main(String[] args) {
//构造函数 Data()
Date date = new Date();
//获取的当前系统时间
System.out.println( date.toString());
//Wed Nov 04 15:35:43 CST 2020
//星期 月份 日期 时:分:秒 cst 年份
//构造函数 Date
//1970年1月1日00:00:00 GMT起的指定毫秒数。--标准基准时间 历元
Date date1 = new Date(45484784l);
System.out.println(date1);
//日期和毫秒值的转换getTime()
long time = date1.getTime();
System.out.println("time = " + time);
}
运行结果:
Wed Nov 04 22:47:17 CST 2020
Thu Jan 01 20:38:04 CST 1970
time = 45484784
DateFormat
public static void main(String[] args) {
Date date = new Date();//日期对象
//2020/11/4 16:01:22
//使用DateFormat的子类SimpleDateFormat
/*
* G --》代表年代
* y --》年
* M -->月
* m --》分钟
* d --》一月中的第几天
* D --》一年中的第几天
* h --》12小时值
* H --》24小时值
* s --》秒
* S --》毫秒
* E --》星期
* F --》一月中的第几个星期几
* W --》一月中的第几个星期几
* w --》一年中第几星期
* z --》时区
* */
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日-HH时mm分ss秒");//多态
//把日期数据类型转换成字符串数据类型 格式化format(Date date)
String format = df.format(date);
System.out.println("format = " + format);//format = 2020年11月04日-16时19分24秒
//把字符串转换成日期格式
String time = " 2020年11月04日";//转换成Date类型 cst
//parse(String str);
//指定日期格式,参照字符串的格式
SimpleDateFormat time2 = new SimpleDateFormat("yyyy年MM月dd日");
try {
Date parse = time2.parse(time);
System.out.println(parse);
//Wed Nov 04 00:00:00 CST 2020
//00:00:00是因为在字符串定义没有给时分秒设定值
} catch (ParseException e) {
e.printStackTrace();
}
}
format = 2020年11月04日-23时05分31秒
Wed Nov 04 00:00:00 CST 2020
public static void main(String[] args) {
//构建一个Calendar类日历对象
//通过静态方法getInstance()
Calendar instance = Calendar.getInstance();
//年月日 时分秒 星期
int i = instance.get(Calendar.YEAR);
System.out.println("i = " + i);//2020 年
int i1 = instance.get(Calendar.MARCH);
System.out.println("i1 = " + i1);//10 月
int i2 = instance.get(Calendar.DATE);
System.out.println("i2 = " + i2);//4 日
int i3 = instance.get(Calendar.HOUR);
System.out.println("i3 = " + i3);//4 12时
int i4 = instance.get(Calendar.MINUTE);
System.out.println("i4 = " + i4);//58 分
int i5 = instance.get(Calendar.SECOND);
System.out.println("i5 = " + i5);//59 秒
System.out.println(i + "/" + (i1 + 1) + "/" + i2 + "/" + " " + i3 + ":" + i4 + ":" + i5);
//修改当前的时间为7后的值
instance.add(Calendar.DATE,7);
//后去当前时间
int i6 = instance.get(Calendar.DATE);
System.out.println("i6 = " + i6);
//修改当前时间为5个小时后
instance.add(Calendar.HOUR,5);
//获取当前的小时
int i7 = instance.get(Calendar.HOUR);
System.out.println("i7 = " + i7);
//日历对象转换成日期对象 Date格式
Date time = instance.getTime();
System.out.println("time = " + time);
}
i = 2020
i1 = 10
i2 = 4
i3 = 11
i4 = 7
i5 = 53
2020/11/4/ 11:7:53
i6 = 11
i7 = 4
time = Thu Nov 12 04:07:53 CST 2020