当前位置:网站首页 > Java基础 > 正文

最基础的用java编写日历



文章目录

  • 一、引入
  • 二、`LocalDate`
    • 1)获取当前时间的日历对象
    • 2)获取指定时间的日历对象
    • 3)获取到日历中的每一个属性值
    • 4)判断系列的方法
    • 5)修改时间系列的方法
    • 6)减少时间系列的方法
    • 7)增加时间系列的方法
    • 8)扩展
  • 三、`LocalTime`
    • 1)代码示例
    • 2)应用场景
  • 四、`LocalDateTime`

一、引入

在刚刚我们已经学习完了新增时间类的前两部分。

第一部分,它跟JDK7以前的 是类似的,它们的对象就表示当前时间的对象 / 指定时间的对象。

第二部分 ,它跟JDK7以前的 是类似的,可以用于时间日期的格式化。

再往下,我们接下来学习第三类。在JDK7以前的时间类中,还有一个 日历类,通过这个日历类,就可以对时间里面单独的年、月、日进行单独的操作。

image-20240424123902475

JDK8同样也有类似的跟日历相关的类,一共有三个。

  • ,它里面包含了 ,这个类是没有 的
  • :它里面包含了 ,这个类是没有 的
  • :它就包含了所有

在这三个类中,它里面的方法也是非常有特点的,跟之前一样。

image-20240424155651825

除此之外, 还可以转成 、,因为它是最长的,用的方法就是 开头的方法。

image-20240424155841977


二、

它只包含 ,没有

1)获取当前时间的日历对象

如果我们调用静态方法 ,就可以获取到当前时间的日历对象。

 

2)获取指定时间的日历对象

方法中可以传递 ,将指定的时间写进去。

image-20240424160424257
 

3)获取到日历中的每一个属性值

的方法可以获取到日历中的每一个属性值

 

要注意,在获取月的时候,获取到的是月的对象

 

如果直接打印的话,打印到的是对象里面的信息

 

但如果我不行看到这个,我只想看到阿拉伯数字,有两种办法。

方法一:用月的对象再去调用 方法

 

方式二:我们在用 获取数据的时候换一个方法:,即获取月份的数据信息。

此时方法会返回一个,这个值就是阿拉伯数字

 

获取日期,:月中的某一天,即几号

 

最基础的用java编写日历


获取一年中的第几天

 

获取星期,只不过这个方法返回的也是星期的对象

 

如果想要看到阿拉伯数字,还需要再调用 方法就行了,跟上面的 是类似的

 

PS:上面的方法不需要去背,你只要知道 开头的就是获取就行了,我们直接使用 调用 ,IDEA都会有自动提示,然后根据提示出来的方法名自己猜也能猜到。

image-20240424161922558

4)判断系列的方法

开头的方法表示判断,判断两个时间谁在前谁在后。

 

5)修改时间系列的方法

with开头的方法表示修改。PS:只能修改年月日。

下面例子就是将年修改为 。

 

验证:跟之前一样,对象里面的数据是不能发生改变的,如果你要修改,它会产生一个新的 。

我们可以拿原来的日期对象跟修改之后的日期对象做一个 的比较

 

6)减少时间系列的方法

minus开头的方法表示减少,只能减少年月日

image-20240424162723170

PS:如果参数传入的是负数,那就是往前加,但是这种方式比较反人类

 

7)增加时间系列的方法

plus开头的方法表示增加,只能增加年月日

PS:如果参数传入的是负数,那就是往前减,但是这种方式比较反人类

 

8)扩展

利用这个类就可以解释我们平时在玩手机的时候遇到的一个场景:每年你过生日的时候那些银行、移动、联通都会给你发一些短信,它是怎么实现的呢?

其实就可以用我们刚刚所学习的 表示。

判断你今天是不是过生日,跟后面的 没关系,我只要 就行了。

因此在这就可以写两个对象。

第一个:用 调用 ,把你的出生年月日封装成

第二个:将当前时间封装成 。

 

还没完,这里又出现了一个新的类:,它表示的是 对象。

我们可以选中 ctrl + b 看下源码

image-20240424163437978

在 的 中可以指定月份、日期,将它们两个封装成 对象。

然后再把今天的时间去封装成 对象

 

最后将两个 对象进行比较,如果相同,就表示你过生日;如果为 ,就表示你今天不过生日,明天再判断就行了。

 

三、

它的用法跟 一样,只不过它里面包含的是

1)代码示例

 

2)应用场景

这个类只关注 ,所以在计算时间的时候,它比较精确。

例如之前说过的秒杀活动。在秒杀活动中,差一秒钟都会导致你这个活动没有参加上,因此在这种情况下,对时间的精确性非常的有要求,并且此时 在这里也是没有用的,这种情况下关注更多的是 ,因此此时会使用 更多一些。


四、

这个类中包含的东西是最全的: ,并且用法跟之前一样。

这些代码不用自己写,将下面示例代码导入IDEA中看看它们的作用就行了。

版权声明


相关文章:

  • 一些基础的java程序2024-11-05 08:50:05
  • java编程基础第十版2024-11-05 08:50:05
  • java4基础知识点2024-11-05 08:50:05
  • 刷怪塔java版 基础2024-11-05 08:50:05
  • 叩丁狼java基础语法文档2024-11-05 08:50:05
  • java基础教程4832024-11-05 08:50:05
  • jre中包含了java基础类库2024-11-05 08:50:05
  • 学习测试需要学习java基础吗2024-11-05 08:50:05
  • java面向对象入门基础代码2024-11-05 08:50:05
  • java语言基础62024-11-05 08:50:05