Java之Date类

时间:2025-03-20 15:54:59

类的概述:

        类,表示一个日期和时间,内部精确到毫秒

类中的构造方法:

        public Date():创建当前系统时间对应的日期对象
        public Date(long date):创建以标准基准时间为基准 指定偏移毫秒数,对应时间的日期对象

3.标准基准时间:

          0时区:1970年1月1日00:00:00 GMT   格林威治标准时间
          东8区:1970年1月1日08:00:00 CST   中国标准时间

// 创建当前系统时间对应的日期对象
Date date = new Date();
(date);  //Mon Aug 16 20:00:14 CST 2021
// 创建以标准基准时间为基准的日期对象 指定偏移1000毫秒
Date date1 = new Date(1000);
(date1); //Thu Jan 01 08:00:00 CST 1970

类常用方法:

1、  - public long getTime():获取当前日期对象距离标准基准时间的毫秒值
2、  - public void setTime(long time):设置当前日期对象距离标准基准时间的毫秒值,意味着改变了当前日期对象
3、  - public boolean after(Date when):测试此日期是否在指定日期之后
4、  - public boolean before(Date when):测试此日期是否在指定日期之前

// 创建当前系统时间对应的日期对象
Date date = new Date();
(date);
// 创建以标准基准时间为基准的日期对象 指定偏移1000毫秒
Date date1 = new Date(1000);
(date1);
// 获取当前日期对象 距离 标准基准时间的 毫秒值
(());
(());
// 修改date1距离标准基准时间的毫秒值为2000
long time = ();
(time+2000);
(date);
long time1 = ();
(time1);
(time1+2000);
(date1);
// 创建当前时间对应的日期对象
Date date2 = new Date();
(());
("date3表示的日期是否在date1之前:"+(date));
("date3表示的日期是否在date1之后:"+(date));

5、DateFormat类

类:是 日期/时间 格式化子类的 抽象类
作用:完成日期和文本之间的转换,也就是在Date对象和String对象之间来回进行转换
        - 格式化:按照指定格式,把Date对象转换为String对象
        - 解析:按照指定格式,把String对象转换为Date对象
特点:
        由于DateFormat时抽象类,无法创建对象,所以只能使用其子类SimpleDateFormat类

6、SimpleDateFormat类:

类:是日期/时间格式化的类
作用:可以在Date对象与String对象之间来回进行切换
构造方法:
        public SimpleDateFormat(String pattern):创建日期格式化对象,并且通过参数指定日期格式
日期格式:
        y --> 年 year
        M --> 月 mouth
        d --> 日 day
        H --> 时 hour
        m --> 分 minute
        s --> 秒 second
常见的日期格式:
        - yyyy年MM月dd日 HH时mm分ss秒
        - yyyy-MM-dd HH:mm:ss
        - yyyy-MM-dd
        - HH:mm:ss
成员方法:
        - public String format(Date date):将Date对象格式化为字符串对象
        - public Date parse(String source):将字符串解析为Date对象

 // 需求:把Date类型的对象转换为String类型
 // 1.创建当前日期对象
Date date = new Date();
// 2.创建日期格式化对象,并且指定日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日hh时mm分ss秒");
String strtime = (date);
(strtime);
 // 需求:把String类型的对象转换成Date类型
 String str = "20201217125828";
 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddhhmmss");
 Date date1 = (str);
 (date1);
 SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日hh时mm分ss秒");
 String string1 = (date1);
 (string1);

7.代码练习实例:

import ;
import ;
import ;
import ;

public class Tests {
    public static void main(String[] args) throws ParseException {
        /*
        * 需求:键盘录入一个字符串类型的时间(你的生日),打印你来到世界多少天?
        *
        * */
        Scanner scanner = new Scanner();
        ("输入你的生日:");
        String str = ();
        //现在的时间
        Date date = new Date();

        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd");
        //解析传入的时间
        Date parse = (str);
        //获取现在时间的毫秒值
        long time = ();
        //获取传进来时间的毫秒值
        long time1 = ();
        //现在的时间-输入进来的时间
        long  t = time - time1;
        //把毫秒值转换为天
        int d = (int) (t/1000/60/60/24);
        (d);
    }
}