Date类的常见用法——JavaSE基础

Date类的常见用法

Date类属于java.util

因此需要导入Date类

  1. Date() 分配一个Date对象,并初始化此对象为系统当前的日期和时间,可以精确到毫秒)。

  2. Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

  3. boolean after(Date when) 测试此日期是否在指定日期之后。

  4. booleanbefore(Date when) 测试此日期是否在指定日期之前。

  5. boolean equals(Object obj) 比较两个日期的相等性。

  6. long getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

  7. String toString() 把此 Date 对象转换为以下形式的 String:dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun、 Mon、Tue、Wed、 Thu、 Fri、 Sat)。

import java.util.Date;

public class Demo04 {
    
    public static void main(String[] args) {
        Date date1 = new Date();
        System.out.println(date1);
        System.out.println(date1.toString());
        long i = date1.getTime();
        Date date2 = new Date(i-1000);
        Date date3 = new Date(i+1000);
        Date date4 = new Date(1000); // 生成一个基准时间之后n ms的时间,这里是基准后1000ms
        System.out.println(date4); // 输出基准时间后1000ms的时刻
        System.out.println(date1.after(date2));  // 判断date1是否是在date2之后的时间
        System.out.println(date1.before(date2)); // 判断date1是否是在date2之前的时间
        System.out.println(date1.equals(date2)); // 判断date1是否和date2相等
        System.out.println(date1.after(date3));
        System.out.println(date1.before(date3));
        System.out.println(date1.equals(date3));

        System.out.println(date1.equals(date1)); // 测试date1是否和其本身相等
    }
    
}

运行结果

Mon Jun 28 16:20:51 CST 2021
Mon Jun 28 16:20:51 CST 2021
Thu Jan 01 08:00:01 CST 1970
true
false
false
false
true
false
true

DateFormat与SimpleDateFormat

SimpleDateFormat是对抽象类DateFormat的实现
这个类主要用于对Date类型进行格式化

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo05 {

    public static void main(String[] args) throws ParseException {
        // new出SimpleDateFormat对象
        SimpleDateFormat s1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); // 规定格式为年-月-日 时:分:秒
        SimpleDateFormat s2 = new SimpleDateFormat("yyyy-MM-dd"); // 规定格式为年-月-日
        // 将时间对象转换成字符串
        String daytime = s1.format(new Date());
        System.out.println(daytime); // 输出年月日时分秒
        System.out.println(s2.format(new Date())); // 输出年月日
        System.out.println(new SimpleDateFormat("hh:mm:ss").format(new Date()));  // 只输出时分秒
        // 将符合指定格式的字符串转成成时间对象.字符串格式需要和指定格式一致。
        String time = "2007-10-7";
        Date date = s2.parse(time);  // 使用s2规定格式将String类型解析并转换为Date类型
        System.out.println("date1: " + date); // 输出
        time = "2007-10-7 20:15:30";
        date = s1.parse(time);  // 使用s1规定格式将String类型解析并转换为Date类型
        System.out.println("date2: " + date);
    }

}

运行结果

2021-06-28 04:16:33
2021-06-28
04:16:33
date1: Sun Oct 07 00:00:00 CST 2007
date2: Sun Oct 07 20:15:30 CST 2007

posted @ 2021-06-28 16:37  HelliWrold1  阅读(83)  评论(0编辑  收藏  举报