Date,Calendar,SimpleDataFormat和System类

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("已经结束");
    }
}
上一篇:获取时间和时间格式化


下一篇:【WPF】按钮需要点击两次才能触发事件,原因是这个...