Date 类
精确到毫秒
import java.util.Date;
public class Demo01 {
public static void main(String[] args) {
// 今天
Date date1 = new Date();
System.out.println(date1.toString());
System.out.println(date1.toLocaleString()); // 打印习惯的日期时间格式,但是已过时
// 昨天
Date date2 = new Date(date1.getTime() - 60 * 60 * 24 * 1000); //getTime() 返回单位毫秒
System.out.println(date2.toString());
// after before 方法
boolean f1 = date1.after(date2);
boolean f2 = date1.before(date2);
System.out.println(f1);
System.out.println(f2);
// compare 方法
int c1 = date1.compareTo(date2);
int c2 = date2.compareTo(date1);
System.out.println(c1);
System.out.println(c2);
// equals 比较是否相等
boolean f3 = date1.equals(date2);
System.out.println(f3);
}
}
Calendar 类
import java.util.Calendar;
public class Demo01 {
public static void main(String[] args) {
// 创建Calendar对象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());
// 获取时间信息
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH); // .get(Calendar.MONTH) => 0 - 11
int day = calendar.get(Calendar.DAY_OF_MONTH); // Date
int hour = calendar.get(Calendar.HOUR_OF_DAY); // Calendar.HOUR_OF_DAY 24小时制 Calendar.Hour 12小时制
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.println(year+"年"+(month+1)+"月"+day+"日 "+hour+"时"+minute+"分"+second+"秒");
// 修改时间
Calendar calendar1 = Calendar.getInstance();
calendar1.set(Calendar.DAY_OF_MONTH, 5);
System.out.println(calendar1.getTime().toLocaleString());
// add 方法 修改时间
calendar1.add(Calendar.HOUR, 13);
System.out.println(calendar1.getTime().toLocaleString());
// 补充方法
int max = calendar1.getActualMaximum(Calendar.DAY_OF_MONTH); // 得到parameter的最大值
int min = calendar1.getActualMinimum(Calendar.DAY_OF_MONTH); // 得到parameter的最小值
System.out.println(max);
System.out.println(min);
}
}
SimpleDataFormat 类
是一个以语言环境有关的方式来格式化和解析日期的具体类
进行格式化 (日期 => 文本)、解析(文本 => 日期)
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo01 {
public static void main(String[] args) throws ParseException {
// 创建SimpleDateFormat对象 y年 M月
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); // 常见格式
// 创建Date
Date date = new Date();
// 格式化date => 把日期转成字符串
String str = sdf.format(date);
System.out.println(str);
// 解析 => 把字符串转成日期
Date date1 = sdf.parse("1990年05月12日");
System.out.println(date1);
}
}
System 类
public class Demo01 {
public static void main(String[] args) {
// arraycopy 数组的复制
// src: 源数组
// srcPos: 从源数组哪个位置开始复制
// dest: 目标数组
// destPos: 从目标数组哪个位置开始放入
// length: 复制的长度
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8};
int[] dest = new int[8];
System.arraycopy(arr, 4, dest, 4, 4); // 效率高
for (int i : dest) {
System.out.print(i + " ");
}
System.out.println("-----------------");
// currentTimeMillis() 获得毫秒数
System.out.println(System.currentTimeMillis());
// 用来计时
long start = System.currentTimeMillis();
for (int i = 0; i < 999999999; i++) {
i++;
}
long end = System.currentTimeMillis();
System.out.println(end-start);
// System.gc() 告诉垃圾回收器回收
Student s1 = new Student("aaa", 10);
new Student("bbb", 10);
System.gc();
// exit() 退出jvm
System.exit(0);
System.out.println("已经结束");
}
}