Date类
1.需要了解的知识:
计算机中的时间都是以距离时间原点多少毫秒来计算的。时间原点为格林威治时间1970年1月1日0时0分0秒(GTM)。由于时区不同,北京、上海为东八区,所以中国时间是以中国标准时间计算的即1970年1月1日8时0分0秒。
2.Date类常用构造函数
空参构造:public Date() 创建当前系统的时间
有参构造:public Date(long date)参数为毫秒值,表示创建自定义时间,以 时间原点为基础
3.常用方法
1.getTime():把日期对象转化成相对应的毫秒值
2.setTime():给日期对象设置参数指定的毫秒值,得到新的日期
DateFormat类
1.了解DateFormat类
DateFormat类是一个抽象类,对日期时间进行格式化操作将日期修改成想要的输出格式。由于其是抽象类,不能直接创建对象,一般都是其实现类SimpleDateFormat类创建对象。
2.常用方法
format()方法:将系统时间格式化
//1.创建格式化字符串
String str = "yyyy年MM月dd日 HH时mm分ss秒";
//2.创建Date类对象
Date date = new Date();
//3.创建SimpleDateFormat对象
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(str);
//4.调用方法
System.out.println(simpleDateFormat.format(date));
parse()方法:将格式化的时间转换为Date()对象
//1.日期格式化
String string1 = "yyyy-MM-dd HH-mm-ss";
//2.格式化字符串日期
String string2 = "1996-12-19 00-00-00";
//3.创建SimpleDateFormat对象
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat(string1);
//4.调用方法
//抛异常,字符串不对时
Date date1 = simpleDateFormat1.parse(string2);
//输出结果
System.out.println(date1);
Calendar类
1.了解Calendar类
Calendar类是一个抽象类,含义是日历类,在Date类后出现,封装了许多时间信息方便获取。由于其是抽象类,不能直接创建对象,有两种方式可以创建其对象。一是其实现类GregorianCalendar类,但由于其诸多不方便原因,一般都是选择令一种通过静态方法getInstance()方法来创建对象的。注意:西方国家月份为0到11月,没有12月,月份变为中国时间是要+1。
2.常用方法
get(int field)方法 :得到给定字段的值,如Calenbar.YEAR字段的值等。
set(int field, int value)方法 :将值赋给指定的字段值
add(int field, int amount) :给指定的字段增减值。
getTime() :得到当前Calendar对象的时间返回一个Date对象。
public static void main(String[] args) {
//年月日相对应的数字字段值
System.out.println(Calendar.YEAR);
System.out.println(Calendar.MONTH);
System.out.println(Calendar.DAY_OF_MONTH);
//set方法的使用
//1.创建Calendar对象
Calendar calendar = Calendar.getInstance();
//2.设置年月日 如:2019.11.11; 因为西方国家时0~11月所以月份要减1
calendar.set(Calendar.YEAR,2019);
calendar.set(Calendar.MONTH,10);
calendar.set(Calendar.DAY_OF_MONTH,11);
print(calendar);
//add方法的使用,如将上面的时间变为2017.7.18;
calendar.add(Calendar.YEAR,-2);
calendar.add(Calendar.MONTH,-4);
calendar.add(Calendar.DAY_OF_MONTH,7);
print(calendar);
//把当前对象转换为Date对象 getTime方法
Date date = calendar.getTime();
System.out.println(date);
}
private static void print(Calendar cal) {
//获取年
int year = cal.get(Calendar.YEAR);
//获取月
int month = cal.get(Calendar.MONTH);
//获得日
int day = cal.get(Calendar.DAY_OF_MONTH);
System.out.println(year+"年"+(month+1)+"月"+day+"日");
}
网友评论