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

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

目录

目录

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

一、Date常用方法

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

1.2  日期格式化  java.text.SimpleDateFormat

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

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

这个方法有什么作用?

1.5  通过毫秒构造Date对象

二、LocalDateTime的使用


回顾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);

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱布朗熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值