Scanner类
- 所属的包
java.util包,需要import导包。 - 通过一个带输入流的构造方法创建对象。
常用实例方法:
所属的包
java.lang包下。不需要导入。- 没有继承,也没有实现。
- 不需要创建对象。通过类型就可以访问了。
- 有三个静态属性。
- in
- out:最常用。
- error
常用的方法:
所属的包:通常使用的是,
java.util包。还有其他包里面也有Date类。- 通常使用无参数的构造方法,或者带
long类型参数的构造方法。无参数就是使用当前系统构建的date对象。带long类型的参数,是时间戳。 - 常用的方法:
- 重写了
toString方法。打印出来date展示的类似:Sat Feb 06 18:50:25 CST 2021。 boolean ``x = date.``before``(date1);date是不是在date1之前。都是Date类的对象才行。after同上。setTime(long time);设置一个date对象的事件。date对象中应该有一个long的属性,time。然后调用这个方法就能改变时间。getTime();获得date对象的时间,返回的是毫秒值。compareTo(Date date);按照顺序比较。得到的值为-1,表示调用的在前,参数在后。得到1表示调用的在后,参数在前。0就是相等。
- 重写了
-
DateFormat
用来格式化
Date类的。 所属的包:
java.text。需要导包使用。- 此类是一个抽象类,不能创建对象。通过子类来使用。
SimpleDateFormat类。是DateFormat的子类。所属的包也在java.text里面。调用带
String参数的构造方法。- 每个字母不是随便写的,里面的符号(-)可以随便写。
- 具体的规则看:时间格式化的规则。
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
举个例子:
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String time1 = sd.format(date1); // format方法进行格式化,有很多方法重载。System.out.println(time1); // 2021-02-06 18:50:25 类似这种
Calendar类
1.1 版本之后出现的。
想要操作时间的一部分。Date类做不了。比如:增加日期等。所属的包:
java.util,需要导包- 有构造方法,用
protected修饰的。通常会调用Calendar.getInstance();。得到系统当前时间的calendar对象。 calendar里面包含一个date,date里面包含一个time。常用方法:
after,befor,setTime,getTime跟Date类提供的一样。但是setTime参数是一个Date类型的。,getTime方法返回的值是Date类型的,而不是long类型的。- getTimeZone();返回的是时区的。具体的去
api文档看。 - set和get方法。操作和设置
Date的一部分,比如年份,月份,日期,小时。 - 得到的
month是从0开始。 ```java // 获取时间
int year = ca.get(Calendar.YEAR); System.out.println(year);
int month = ca.get(Calendar.MONTH); System.out.println(month);
int day = ca.get(Calendar.DAY_OF_MONTH); System.out.println(day);
// 设置时间 ca.set(Calendar.YEAR, 2015); System.out.println(ca.getTime());
// 获取时期 TimeZone tz = ca.getTimeZone(); System.out.println(tz.getID()); // Asia/Shanghai System.out.println(tz.getDisplayName());// 中国标准时间 ```
TimeZone 时区相关类
- java.util包
- 可以通过
calendar对象.getTimeZone()获取,或TimeZone.getDefault(); - 常用方法:
getId();获取时区ID。getDisplayName();获取时区展示的名字。
