System类
- System:类中的方法和属性都是静态的。
常用方法
currentTimeMillis
- 获取当前时间的毫秒值。
1 | public static long currentTimeMillis(); 与1970.1.1午夜时间的差 |
Properties
- 获取系统的属性信息,并存储到了Properties集合中。
- properties集合中存储都是String类型的键和值。
- 最好使用它自己的存储和取出的方法来完成元素的操作。
1 | public static void demo_1(){ |
- 在linux、windows上换行符号是不一样的
1 | //如果这样写的话,这个换行符在哪个系统中都不会出问题 |
Runtime类
- Runtime:没有构造方法摘要,说明该类不可以创建对象。
- 又发现还有非静态的方法。说明该类应该提供静态的返回该类对象的方法
- 而且只有一个,说明Runtime类使用了单例设计模式。
1 | public static void main(String[] args) throws IOException, InterruptedException { |
Math类
- Math:提供了操作数学运算的方法。都是静态的
- 常用的方法:
- ceil():返回大于参数的最小整数。(如18.6 返回19)
- floor():返回小于参数的最大整数。(如18.6 返回18)
- round():返回四舍五入的整数。 (如18.6 返回19)
- pow(a,b):a的b次方。
- random():返回大于0.0且小于1.0的一个伪随机数
1 | for (int i = 0; i < 10; i++) { |
Date类
- 月份:0–11 (代表12个月)
日期对象、毫秒值之间的转换
- 毫秒值–>日期对象 :
- 1,通过Date对象的构造方法 new Date(timeMillis);
- 2,还可以通过setTime设置。
- 因为可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作。
- 日期对象–>毫秒值:
- 2,getTime方法。
- 因为可以通过具体的数值进行运算。
1 | System.out.println(System.currentTimeMillis()); |
将日期对象进行格式化
- 将日期对象–>日期格式的字符串
- 使用的是DateFormat类中的format方法
1 | public static void methodDemo() { |
- 将日期格式的字符串–>日期对象
- 使用的是Date Format类中的parse()方法。
1 | public static void methodDemo_3() throws ParseException { |
练习
- 计算2018-04-11与2018-05-16中间相差多少天
- 思路:
- 日期字符串转日期对象
- 日期对象转毫秒值
- 毫秒值相减,取绝对值
- 将结果转换成天数
1 | public class DateTest { |
calendar类
- Date类中已经过时的类,都是在calendar中被替换
1 | public static void showDate(Calendar c) { |
- calendar中的add方法,偏移日期
1 | Calendar c = Calendar.getInstance(); |