JavaSE常用类day09
Date类
- Date表示特定的瞬间,精确到毫秒。Date类大部分的方法已经被Calendar类中的方法取代。
package category.Demo02;
import java.util.Date;
public class Demo08 {
public static void main(String[] args) {
Date date1 = new Date();
System.out.println(date1.toString());
Date date2 =new Date(date1.getTime()-(60*60*24*1000));
System.out.println(date2.toString());
boolean b1 =date1.after(date2);
System.out.println(b1);
boolean b2 =date1.before(date2);
System.out.println(b2);
int d=date1.compareTo(date2);
System.out.println(d);
}
}
结果:
Mon Jul 20 09:38:48 CST 2020
Sun Jul 19 09:38:48 CST 2020
true
false
1
Calendar类
- Calendar提供了获取或设置各种日历字段的方法
- 构造方法
- protected Calendar() :由于修饰符是protected,所以无法直接创建该对象
package category.Demo02;
import java.util.Calendar;
public class Demo09 {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());
System.out.println(calendar.getTimeInMillis());
int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH);
int day=calendar.get(Calendar.DAY_OF_MONTH);
int hour=calendar.get(Calendar.HOUR_OF_DAY);
int minute=calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.println(year+"年"+(month+1)+"月"+
day+"日"+hour+":"+minute+":"+second);
Calendar calendar2= Calendar.getInstance();
calendar2.set(Calendar.DAY_OF_MONTH,5);
System.out.println(calendar2.getTime().toLocaleString());
calendar2.add(Calendar.HOUR,-1);
System.out.println(calendar2.getTime().toLocaleString());
int max=calendar2.getActualMaximum(Calendar.DAY_OF_MONTH);
int min=calendar2.getActualMinimum(Calendar.DAY_OF_MONTH);
System.out.println(max);
System.out.println(min);
}
}
结果:
2020-7-20 10:12:05
1595211125128
2020年7月20日10:12:5
2020-7-5 10:12:05
2020-7-5 9:12:05
31
1
SimpleDateFormat类
- SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类。
- 进行格式化(日期—>文本),解析(文本—>日期)。
- 常用的时间模式字母
字母 | 日期或时间 | 示例 |
---|
y | 年 | 2019 |
M | 年中月份 | 08 |
d | 月中天数 | 10 |
H | 1天中小时数(0-23) | 22 |
m | 分钟 | 16 |
s | 秒 | 59 |
S | 毫秒 | 367 |
package category.Demo02;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo10 {
public static void main(String[] args) throws Exception{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd");
Date date = new Date();
String str =sdf.format(date);
System.out.println(str);
Date date2 =sdf2.parse("1990/05/01");
System.out.println(date2);
}
}
结果:
2020年07月20日10:37:20
Tue May 01 00:00:00 CDT 1990
System类
- System系统类,主要用于获取系统的属性数据和其他操作,构造方法私有的。
package category.Demo02;
import category.Demo01.Student;
public class Demo11 {
public static void main(String[] args) {
int[] arr = {20, 18, 15, 8, 35, 26, 45, 90};
int[] dest = new int[8];
System.arraycopy(arr, 4, dest, 4, 4);
for (int i = 0; i < dest.length; i++) {
System.out.print(dest[i] + " ");
}
System.out.println();
System.out.println("===============");
System.out.println(System.currentTimeMillis());
long start = System.currentTimeMillis();
for (int i = -9999999; i < 999999999; i++) {
for (int j = -9999999; j < 999999; j++) {
int result = i + j;
}
}
long end = System.currentTimeMillis();
System.out.println("用时:" + (end - start)+"ms");
new Student("aaa",19);
new Student("bbb",19);
new Student("ccc",19);
System.gc();
}
}
结果:
0 0 0 0 35 26 45 90
===============
1595216155583
用时:11ms
回收了ccc 19
回收了bbb 19
回收了aaa 19
package category.Demo02;
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = 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 "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
protected void finalize() throws Throwable {
System.out.println("回收了"+name+" "+age);
}
}