JavaSE——java.util.Date日期类演示以及常用方法与操作

这个记得导包java.util.Date,只有在java.lang包下的类才不用导入

目录

回顾System类的相关属性和方法

System.out 其中out是System类的静态变量

System.out.println() 其中println() 方法不是System类的,是PrintStream类的方法,后面会学

System.gc() 建议其中垃圾回收器

System.currentTimeMillis() 获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数

System.exit(0) 退出JVM

一、Date常用方法

1.1直接调用无参构造方法创建Date对象

Date date = new Date();
        System.out.println(date);

输出这个对象的时候,一定会调用这个对象的toString方法,底层已经帮我们重写了 ,但是这个不符合我们的习惯,我们下面会对这一条消息进一步的修改

CST是一个国际标准时间

1.2 日期格式化 java.text.SimpleDateFormat

将Date转化成一定格式的、我们常用的形式

Date date = new Date();
//      java.text包下,专门日期格式化
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String s= sdf.format(date);
        System.out.println(s);

1.3 日期字符串String转换成Date类型

我们在调用parse的时候,会有一个异常,处理一下就好了

假如大家出现这种异常的话,就是在SimpleDateFormat构造方法中填写的格式与字符串time不匹配所造成的,记得检查一下,然后重新运行项目

1.4 获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数

1秒=1000毫秒

这个方法是一个静态方法,我们使用类名调用的,获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数

System.currentTimeMillis();

如果是变相输出的话,我们可以选择long类型,选择int类型的话可能会超出int的范围

下图就是源码中的静态方法

我们可以输出一下看一下,结果很大

System.out.println(System.currentTimeMillis());

这个方法有什么作用?

统计一个方法的执行时长,在方法调用之前记录一个毫秒数,在执行完目标方法之后再记录一个毫秒数,两个时间相减,就是我们这个方法所耗费的时长,我们可以对耗时长的方法进行优化代码逻辑

1.5 通过毫秒构造Date对象

参数是自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数

下面这个代码代表的就是 1970年1月1日 00:00:00 001

Date time = new Date(1);
Date time = new Date(1);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String s= sdf.format(time);
        System.out.println(s);

但是我们输出的为什么是8点呢?

因为我们使用的是东八区的时间,这个一定要注意

二、LocalDateTime的使用

//       得到2022年一月一号0时0分0秒这个时间
        LocalDateTime time = LocalDateTime.of(2022, 1, 1, 0, 0, 0);
//       得到一个秒数  ZoneOffset.UTC是一个时间戳
         long second =time.toEpochSecond(ZoneOffset.UTC);
经验分享 程序员 微信小程序 职场和发展