Date类和Calendar类

Date

Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法都已经被Calendar类中的方法所取代

时间单位

1秒=1000毫秒

1毫秒=1000微秒

1微秒=1000纳秒

eg : 

public class Demo01 {
public static void main(String[] args) {
//1.创建Date对象
Date date1 = new Date();
System.out.println(date1.toString());
System.out.println(date1.toLocaleString ());
//昨天
Date date2 = new Date(date1.getTime()-(60*60*24*1000));
System.out.println(date2.toLocaleString ());
//2.方法after before
boolean b1 = date1.after(date2);
System.out.println(b1);
boolean b2 = date1.before(date2);
System.out.println(b2);
//比较compareTo();
int d = date2.compareTo(date1);
System.out.println(d);
//比较是否相等 equals()
boolean b3 = date1.equals(date2);
System.out.println(b3);
}
}

Calendar

Calendar提供了获取或设置各种日历字段的方法

构造方法

protected Calendar() :由于修饰符是protected,所以无法直接创建该对象

其他方法

方法名说明
static Calendar getInstance() 使用默认时区和区域获取日历
void set(int year,int month,int date,int hourofday,int minute,int second) 设置日历的年、月、日、时、分、秒
int get(int field) 返回给定日历字段的值。字段比如年、月、日等
void setTime(Date date) 用给定的Date设置此日历的时间。Date-Calendar
Date getTime() 返回一个Date表示此日历的时间。Calendar-Date
void add(int field,int amount) 按照日历的规则,给指定字段添加或减少时间量
long getTimeInMillies() 毫秒为单位返回该日历的时间值

 

 

 

 

 

 

 

 

 

 

 

 

 

 

eg : 

public class Demo02 {
public static void main(String[] args) {
//创建Calendar对象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString ());
System.out.println(calendar.getTimeInMillis());
//2.获取时间信息
//获取年
int year =calendar.get(Calendar.YEAR);
//月 从0-11
int month =calendar.get(Calendar.MONTH);
//日
int day =calendar.get(Calendar.DAY_OF_MONTH);//Date
//小时
int hour =calendar.get(Calendar.HOUR_OF_DAY);//HOUR12小时,HOUR_OF_DAY24小时
//分钟
int minute =calendar.get(Calendar.MINUTE);
//秒
int second =calendar.get(Calendar.SECOND);
System.out.println(year+"年"+(month+1)+"月"+day+"日"+hour+":"+minute+":"+second);
//3.修改时间
Calendar calendar2 = Calendar.getInstance();
calendar2.set(Calendar.DAY_OF_MONTH,6);
System.out.println(calendar2.getTime().toLocaleString ());
//4.add方法修改时间
calendar2.add (Calendar.HOUR,1);
System.out.println(calendar2.getTime().toLocaleString ());
//5.补充方法
calendar2.add(Calendar.MONTH,1);
int max = calendar2.getActualMaximum (Calendar.DAY_OF_MONTH);
int min = calendar2.getActualMinimum (Calendar.DAY_OF_MONTH);
System.out.println(max);
System.out.println(min);
}
}
posted @ 2021-03-07 20:31  星忄守候  阅读(147)  评论(0)    收藏  举报