Date类
-
Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法都已经被Calendar类中的方法所取代。
-
时间单位:
- 1秒 = 1000毫秒
- 1毫秒 = 1000微秒
- 1微妙 = 1000纳秒
案例:
public static void main(String[] args) { //创建一个Date对象 //今天 Date date1 = new Date();//创建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 date2.after(date1); boolean b1 = date1.after(date2);//今天是在昨天之后吗? System.out.println(b1); boolean b2 = date1.before(date2);//今天是在昨天的之前吗? System.out.println(b2); //比较compareTo(); int i = date1.compareTo(date2); //date1比date2大就是1,小就是-1,相等就是0 System.out.println(i); //比较是否相等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表示此日历的时间。Calendar-Date void add(int field,int amount) 按照日历的规则,给指定字段添加或减少时间量 long getTimeInMillies() 返回该日历的时间值,单位毫秒 public static void main(String[] args) { //1.创建Calendar对象 Calendar calendar = Calendar.getInstance(); System.out.println(calendar.getTime().toLocaleString()); System.out.println(calendar.getTimeInMillis()); //2获取时间信息 //获取年 int year = calendar.get(Calendar.YEAR); //月 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_DAY 24小时 //分 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, 5); //将日改成5号 System.out.println(calendar2.getTime().toLocaleString()); //4add方法修改时间 calendar2.add(Calendar.HOUR, -1);//减一个小时 System.out.println(calendar2.getTime().toLocaleString()); }
运行结果: