Date类与日期格式

时间:2023-03-10 02:13:26
Date类与日期格式

Date类概述:

表示特定的瞬间,精确到毫秒。

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

public long getTime()返回自1970年1月1日00:00:00 GMT 以来此 Date 对象表示的毫秒数。
long date表示从 The epoch 开始,经过的毫秒数。

 public class DateDemo {
   public static void main(String[] args) {
     //Date对象
     Date date = new Date();
     System.out.println(date);
     // Fri Jan 10 16:32:09 CST 2020   China Standard Time

     long time = date.getTime();
     //从1970 年 1 月 1 日 00:00:00 GMT到现在经历的毫秒数
     System.out.println(time);

     long year = time / (1000L * 60 * 60 * 24 * 365);
     System.out.println(year);

     Date date1 = new Date(date.getTime() + 24 * 1000 * 60 * 60L);
     System.out.println(date1);

     //32 对于32的操作系统,如果以一个字长表示时间,表示到秒
      int a = Integer.MAX_VALUE;
      System.out.println(a / (60 * 60 * 24 * 365L));  //68  epoch  1970 - 2038
   }
 }

DateFormat类概述:

1. 是日期/时间 格式化子类的抽象类。
2. 它以与语言无关的方式格式化并解析日期或时间。
3. 因为是抽象类,所以实际使用的是SimpleDateFormat这个实现子类。

y 表示年。

注意大写的YYYY是week-based-year,
当天所在的周属于的年份,一周从周日开始,周六结束,
只要本周跨年,那么这周就算入下一年。

M 表示年中的月份。
d 表示月份中的天数。
H 表示一天中的小时数。
m 小时中的分钟。
s 分钟中的秒数。

日期格式 yyyy/MM/dd HH:mm:ss
yyyy年MM月dd日 HH时mm分ss秒

public Date parse(String source)
把一个用字符串表示的时间转化成一个Date对象,
该对象表示的时间点,就是你用字符串表示的那个时间点。

public final String format(Date date)
把一个Date对象表示成一个指定格式的表示时间的字符串。

 public class DataFormatDemo {
   public static void main(String[] args) throws ParseException {
     SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
     //测试format方法
     Date date = new Date();
     String format1 = format.format(date);
     System.out.println(format1);
   }
 }