DateFormat类 Calendar类:
(是从Date类演变而来不过Date类基本已经弃用,从而分化为DateFormat类Calendar类两个类)
时间字母代表(必背)
G--> 年代
Y--> 年
M-->月
m-->分钟
d-->日
D-->一年中的第几天
h-->小时 12小时制
H-->小时 24小时制
s-->秒
S-->毫秒
E-->星期
F-->一月中的第几个星期几
w-->一年中第几个星期
W-->一月中的第几个星期
z-->时区
DateFormat类:
java.text包中
是一个抽象类
直接子类
作用:格式化日期并解析日期时间,通常用于日期和String字符串之间的转换日期--》文本 / 文本--》日期
借助于Date对象
例:
//构件日期对象
Date date = new Date();//日期对象 wed Nov 04 15:35:53 CST 2020
// 2020/11/4 16:01:22
//使用dateFormat类的子类SimpleDaterFormat pattern 格式,模式
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//把日期数据类型转换成字符串数据类型 格式化format(date)
String str = df.format(date);
System.out.println(str);//2020/11/4 16:18:22
//把字符串转换成日期格式
String time = "2020年11月4日"; //转换成Date类型 CST
//parse(String str)
//指定日期格式 参照
SimpleDateFormat df2 = new SimpleDateFormat("yyyy年MM月dd日");
//把字符串转换成日期 parse(String str)
Date date2 = df2.parse(time);
System.out.println(date2);//2020年11月4日->CST格式 Wed Nov 04 15:46:02 CST 2020
Calendar类:
日历类:实现日期与时间字段之间的转换
是一个抽象类
作用:获取日历上的时间字段值
Calender的对象的创建通过静态的getInstance()
例:
//构建一个Calendar类日历对象
//通过静态方法getInstance()
Calendar calendar = Calendar.getInstance();
//Calendar calendar = new Calendar()
//年月日 时分秒 星期 get(int field)
int year = calendar.get(Calendar.YEAR);
System.out.println(year);//2020年
int month = calendar.get(Calendar.MONTH);
System.out.println(month);//10月
int date = calendar.get(Calendar.DATE);
System.out.println(date);//4日
int hour = calendar.get(Calendar.HOUR);
System.out.println(hour);//5小时
int minute = calendar.get(Calendar.MINUTE);
System.out.println(minute);//0分钟
int second = calendar.get(Calendar.SECOND);
System.out.println(second);//15秒
System.out.println(year+"/"+(month+1)+"/"+date+" "+(hour+12)+":0"+minute+":"+second);
//指定字段增加值
//修改当前的时间为7天后
calendar.add(Calendar.DATE, 7);
//获取日期值
int day = calendar.get(Calendar.DATE);
System.out.println(day);//11日
//修改当前时间为5小时后
calendar.add(Calendar.HOUR, 5);
//获取当前时间的小时
int huor2 = calendar.get(Calendar.HOUR);
//日历对象转换成日期对象 Date格式 getTime()
Date time = calendar.getTime();
System.out.println(huor2);
