目       录

一.Date类

1.类 Date 表示特定的瞬间,精确到毫秒

2.构造方法

3.Date类中的方法

4.Date类型与Long类型的相互转换

二. SimpleDateFormat类

1.格式化日期的类 SimpleDateFormat

2.构造方法:

3.Date类型与String日期字符串类型的转换


针对日期,java提供了相对应的Date类.

一.Date类

1.类 Date 表示特定的瞬间,精确到毫秒

2.构造方法

  • 空参构造: Date date = new Date();分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)
  • 有参构造: Date date = new Date( long date);分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数也就是在历元年上 1970 年 1 月 1 日 00:00:00 增加对应的毫秒值
public class  Test {
    public static void main(String[] args) {
            Date date = new Date();
            System.out.println(date.toString());  //Tue May 10 16:38:51 CST 2022

            Date date1 = new Date(1000 * 60 * 60 * 24);   
            System.out.println(date1);            //Fri Jan 02 08:00:00 CST 1970
    }
}

3.Date类中的方法

  • getTime();         获取从历元年1970 年 1 月 1 日 00:00:00 到现在所间隔的毫秒值
  • setTime();         在历元年上 1970 年 1 月 1 日 00:00:00 增加对应的毫秒值
  • toString();           该类重写了toString方***打印出相对应格式的日期
import java.util.Date;

public class Test {
    public static void main(String[] args) {
        Date date = new Date();
        //获取从历元年1970 年 1 月 1 日 00:00:00 到现在所间隔的毫秒值
        long time = date.getTime();
        System.out.println(time);                  //1652172389909

        //获取从历元年1970 年 1 月 1 日 00:00:00 到现在所间隔的毫秒值
        long timeMillis = System.currentTimeMillis();       //该方法属于System类,功能是i相同的!
        System.out.println(timeMillis);            //1652172389909

        //在历元年上 1970 年 1 月 1 日 00:00:00 增加对应的毫秒值
        date.setTime(1000 * 60 * 60 * 24);
        System.out.println(date);                  //Fri Jan 02 08:00:00 CST 1970

        System.out.println(date.toString());       //Fri Jan 02 08:00:00 CST 1970

    }
}

4.Date类型与Long类型的相互转换

Date类型转换为Long类型(用getTime();)

  • Date date = new Date();      long time = date.getTime();

Long类型转换为Date类型(用setTime();)

  • 方法一:Date date  = new Date(long time);
  • 方法二:Date date = new Date();     date.setTime(long time);
import java.util.Date;

public class Test {
    public static void main(String[] args) {

        //Date------>long
        Date date = new Date();
        long time = date.getTime();
        System.out.println(time);         //1652172898683

        //long------->Date
        long num = 1000 * 60 * 60 * 24;
        Date date1 = new Date(num);
        System.out.println(date1);        //Fri Jan 02 08:00:00 CST 1970
        
        Date date2 = new Date();
        date2.setTime(num);
        System.out.println(date2);        //Fri Jan 02 08:00:00 CST 1970
    }
}

 由上我们可以获取时间,但是时间的输出格式并不是咱们中国人的阅读习惯!毕竟咱们喜欢某年某月某日这样顺着的顺序!于是就出现了 SimpleDateFormat类.

二. SimpleDateFormat类

1.格式化日期的类 SimpleDateFormat

2.构造方法:

  • 空参构造: SimpleDateFormat simpleDateFormat = new SimpleDateFormat();    没有指定格式,按照默认格式输出.
  • 有参构造: SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("放入时间格式 ");  按照指定格式输出.
  • 补:这里面的格式是有要求的哈!( yyyy表示年 / MM表示月 / dd表示天 / HH表示时 / mm表示分 / ss表示秒 / E表示星期 常用的就是这些,还有很多呢,需要的话可以在api帮助文档里查查!)

3.Date类型与String日期字符串类型的转换

  • 日期 Date转换成日期字符串 String(用format方法)
  • 日期字符串 String转换成日期 Date(用parse方法解析字符串)

注意格式 和日期字符串的格式要对应,否则就解析失败.

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

public class DateAndString {
    public static void main(String[] args) throws ParseException {
        
        //日期 Date-----日期字符串 String
        Date date = new Date();
        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E");
        String dateStr2 = simpleDateFormat1.format(date);
        System.out.println(dateStr2);       //2022年05月10日 17时12分09秒 星期二

        //日期字符串 String----日期 Date
        String dateStr = "2000-10-10 14:30:30";
        //注意格式 和日期字符串的格式要对应,否则就解析失败。
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date1 = simpleDateFormat.parse(dateStr);    //此处会出现异常,先抛出后期学习了再进一步了解
        System.out.println(date1);        //Tue Oct 10 14:30:30 CST 2000
        
    }
}

(小编也在努力学习更多哟!以后再慢慢分享的啦!)

希望对友友们有所帮助!!!!