- SImpleDateFormat是一个以语言环境有关的方式来格式化和解析日期的具体类。
- format进行格式化(日期 - > 文本)、parse解析(文本 - > 日期)。
- 常用的时间模式字母
| 字母 | 日期或时间 | 示例 |
|---|---|---|
| y | 年 | 2019 |
| M | 月 | 08 |
| d | 日 | 15 |
| H | 时 | 22 |
| m | 分 | 15 |
| s | 秒 | 52 |
| S | 毫秒 | 952 |
创建一个Demo01类来进行测试
package com.ClassTest.SimpleDateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo01{
//SimpelDateFormat类的使用
public static void main(String[] args) throws Exception{
//1、创建SimpleDateFormat对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//2、创建Date
Date date = new Date();
//格式化date(把日期转换成字符串)
String str = sdf.format(date);
System.out.println(str);
//解析(把字符转换成日期)
Date date1 = sdf.parse("1990/05/12 23:10:52");
System.out.println(date1.toLocaleString());
}
}
结果图:
二、System类综上,可以看出,可以使用SimpleDateFormat类中的format方法来格式化date,将日期转换成字符串,也就是在上面输入的日期格式,转换成字符串的时间格式输出出来,也可以使用parse方法来解析字符串,也就是将字符串转换成日期,要求就是上面定义的对象需要跟格式化的对象类型相同!
- System系统类,主要用于获取系统的属性数据和其他操作,构造方法私有的。
| 方法名 | 说明 |
|---|---|
| static void arraycopy(…) | 复制数组 |
| static long currentTimeMillis() | 获取当前系统时间,返回的是毫秒值 |
| static void gc() | 建议JVM赶快启动垃圾回收器回收垃圾 |
| static void exit(int status) | 退出JVM,如果参数是0表示正常退出JVM,非0表示异常退出JVM |
创建一个Student学生类,方便回收垃圾时能看到是否被回收!
package com.ClassTest.SystemClass;
public class Student {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override //重写输出的方法,返回输出的值
public String toString() {
return name +":"+age;
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
@Override //重写object类中的finalize回收垃圾的方法
protected void finalize() throws Throwable {
System.out.println("对象"+name+"被回收了!");
}
}
然后再创建Demo01的类,用来测试System系统类中的方法!
package com.ClassTest.SystemClass;
public class Demo01 {
public static void main(String[] args) {
//1、arraycopy:数组的复制
//src:数组
//srcPos:从哪个位置开始复制0
//dest : 目标数组
//destPos: 目标数组的位置
//length: 复制的长度
int[] arr = {20,15,2,5,95,32,52,12};
int[] tx = new int[8];
System.arraycopy(arr, 0, tx, 0, 8);
System.out.println("数组复制:");
for (int i = 0; i < tx.length; i++) {
System.out.print(tx[i]+"t");
}
//2、currentTimeMillis方法:获取1970年至今的毫秒数
//获取开始时间
long start = System.currentTimeMillis();
for (int i = 0; i < 9999; i++) {
for (int j = i; j < 9999; j++) {
}
}
long end = System.currentTimeMillis();
System.out.println("执行currentTimeMIllis方法用时(毫秒):"+(end-start));
//3、gc:垃圾回收
new Student("aaa",19);
new Student("bbb",19);
new Student("ccc",19);
System.out.println("提示JVM启动垃圾回收:");
System.gc();
//4、exit:退出JVM
System.exit(0); //为0时退出JVM虚拟机
System.out.println("我是虚拟机!"); //退出之后便不再执行后面的代码了!
}
}
结果图
三、总结System系统类的介绍就这么多,需要注意的是在复制数组的时候,下标的值不能越过数组的原始长度,否则会抛出一个异常!
1、内部类:经过了十天左右的学习,终于将常用类的使用给学习完了,但是还没有完全掌握,只能算是一遍过,因为时间问题,只能一边学习一边去牢记了,下面做一个常用类的总结!
- 在一个类的内部再定义一个完整的类。
- 成员内部类、静态内部类、局部内部类、匿名内部类。
- 他是所有类的直接或间接父类。可存储任何对象!
- 基本数据类型所对应的引用数据类型,可以使Object统一所有数据。
- 字符串是常量。创建之后不可改变,字面值保存在堆中方法区的字符串池中,可以共享!
- 可以精准的计算浮点数!加add,减subtract,乘multiply,除divide
- 特定的时间
- 日历,是Date类的升级版,很多方法都是在Calendar类中优化了!
- 格式化时间,可以使用Format方法将日期格式化成字符串,使用parse解析方法将字符串解析成日期!
- 系统类,可以调用垃圾回收机制以及复制数组或者使用cocurrentTimeMIllis获取毫秒数!



