进阶JAVA篇- LocalDate 类与 LocalTime 类、LocalDateTime 类的常用API(六)

目录

API               

      1.0 LocalDate 类与 LocalTime 类、LocalDateTime 类的API说明

        1.1 如何创建LocalDate 类与 LocalTime 类、LocalDateTime 类的对象

        1.2 LocalDate 类与 LocalTime 类、LocalDateTime 类中的以 get 开头实例方法

        1.3 LocalDateTime 类中的 toLocalDate() toLocalTime() 实例方法

        1.4 LocalDate 类与 LocalTime 类、LocalDateTime 类中的以with开头实例方法 

        1.5 LocalDate 类与 LocalTime 类、LocalDateTime 类中的以 plus 开头实例方法 

        1.6 LocalDate 类与 LocalTime 类、LocalDateTime 类中的以 minus 开头实例方法 

        1.7 LocalDate 类与 LocalTime 类、LocalDateTime 类中 equals() 、isBefore()、isAfter() 例方法 


API               

        1.0 LocalDate 类与 LocalTime 类、LocalDateTime 类的API说明

        由于LocalDate 类与 LocalTime 类、LocalDateTime 类的API的使用是大致相同。

        LocalDate:代表本地日期(年、月、日、星期)

        LocalTime:代表本地时间(时、分、秒、纳秒)

        LocalDateTime:代表本地日期、时间(年、月、日、星期、时、分、秒、纳秒)

        1.1 如何创建LocalDate 类与 LocalTime 类、LocalDateTime 类的对象

        可以通过 类名.now() 静态方法来创建当前日期、时间、日期时间的对象,还可以通过 类名.of() 静态方法来创建指定日期、时间、日期时间的对象。 

通过 类名.now() 静态方法来创建当前日期、时间、日期时间的对象代码如下:

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;public class LocalDate_LocalTime_LocalDateTime {public static void main(String[] args) {//创建当前日期对象LocalDate localDate = LocalDate.now();System.out.println(localDate);//创建当前时间对象LocalTime localTime = LocalTime.now();System.out.println(localTime);//创建当前日期、时间对象LocalDateTime localDateTime = LocalDateTime.now();System.out.println(localDateTime);}
}

运行结果如下:

        

通过 类名.of() 静态方法来创建指定日期、时间、日期时间的对象的代码如下:

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;public class LocalDate_LocalTime_LocalDateTime {public static void main(String[] args) {//创建指定日期对象LocalDate localDate = LocalDate.of(2025, 12, 12);System.out.println(localDate);//创建指定时间对象LocalTime localTime = LocalTime.of(9, 30, 12);System.out.println(localTime);//创建指定日期、时间对象//也可以把直接上面的结合起来LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);System.out.println(localDateTime);}
}

运行结果如下:

        

        1.2 LocalDate 类与 LocalTime 类、LocalDateTime 类中的以 get 开头实例方法

         通过 get 开头的实例方法来获取相对应的信息。

代码如下:

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;public class LocalDate_LocalTime_LocalDateTime {public static void main(String[] args) {//创建当前日期对象LocalDate localDate = LocalDate.now();//获取到了当前年int year = localDate.getYear();System.out.println(year);//获取到了当前月int month = localDate.getMonthValue();System.out.println(month);//获取到了当前日int date = localDate.getDayOfMonth();System.out.println(date);//获取当前星期几int week = localDate.getDayOfWeek().getValue();System.out.println(week);//创建当前时间对象LocalTime localTime = LocalTime.now();//获取当前小时int hour = localTime.getHour();System.out.println(hour);//获取当前分钟int minute = localTime.getMinute();System.out.println(minute);//获取当前秒int second = localTime.getSecond();System.out.println(second);//获取当前纳秒long a = localTime.getNano();System.out.println(a);System.out.println("-----------------------------------");//创建当前日期、时间对象,其实这类就是上面两个类的集合LocalDateTime localDateTime = LocalDateTime.now();System.out.println(localDateTime.getYear());System.out.println(localDateTime.getMonthValue());System.out.println(localDateTime.getDayOfMonth());System.out.println(localDateTime.getDayOfWeek().getValue());System.out.println(localDateTime.getHour());System.out.println(localDateTime.getMinute());System.out.println(localDateTime.getSecond());System.out.println(localDateTime.getNano());}
}

运行结果如下:

        1.3 LocalDateTime 类中的 toLocalDate()toLocalTime() 实例方法

        简单的理解为,就是把 LocalDateTime类 一分为二成 LocalDate类 与 LocalTime类。

​​​代码如下:

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;public class LocalDate_LocalTime_LocalDateTime {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.of(2024, 12, 12,9, 30, 30, 30);System.out.println(localDateTime);System.out.println("-----------------------------------");LocalDate localDate = localDateTime.toLocalDate();System.out.println(localDate);LocalTime localTime = localDateTime.toLocalTime();System.out.println(localDateTime);}
}

运行结果如下:

        

        1.4 LocalDate 类与 LocalTime 类、LocalDateTime 类中的以with开头实例方法 

        通过 with 开头的实例方法来直接修改对应的信息,需要注意的是以上三个类所创建出来的对象都是不可改变的,所以这里的修改指的是创建一个新的对象。        

代码如下:

import java.time.LocalDateTime;
import java.time.LocalDate;
import java.time.LocalTime;public class LocalDate_LocalTime_LocalDateTime {public static void main(String[] args) {LocalDate localDate = LocalDate.of(2025,12,12);LocalDate reviseLocalDate2 = localDate.withYear(2027);LocalDate reviseLocalDate3 = localDate.withMonth(11);LocalDate reviseLocalDate4 = localDate.withDayOfMonth(22);System.out.println(localDate);System.out.println(reviseLocalDate2);System.out.println(reviseLocalDate3);System.out.println(reviseLocalDate4);System.out.println("---------------------------------------------");LocalTime localTime = LocalTime.of(11,11,11);LocalTime reviseLocalTime2 = localTime.withHour(12);LocalTime reviseLocalTime3 = localTime.withMinute(12);LocalTime reviseLocalTime4 = localTime.withSecond(12);System.out.println(localTime);System.out.println(reviseLocalTime2);System.out.println(reviseLocalTime3);System.out.println(reviseLocalTime4);System.out.println("--------------------------------------------");LocalDateTime localDateTime = LocalDateTime.of(localDate,localTime);LocalDateTime reviseLocalDateTime2 = localDateTime.withYear(2028);LocalDateTime reviseLocalDateTime3 = localDateTime.withMonth(3);LocalDateTime reviseLocalDateTime4 = localDateTime.withDayOfMonth(9);LocalDateTime reviseLocalDateTime5 = localDateTime.withHour(10);LocalDateTime reviseLocalDateTime6 = localDateTime.withMinute(11);LocalDateTime reviseLocalDateTime7 = localDateTime.withSecond(12);System.out.println(localDateTime);System.out.println(reviseLocalDateTime2);System.out.println(reviseLocalDateTime3);System.out.println(reviseLocalDateTime4);System.out.println(reviseLocalDateTime5);System.out.println(reviseLocalDateTime6);System.out.println(reviseLocalDateTime7);}
}

运行结果如下:

        1.5 LocalDate 类与 LocalTime 类、LocalDateTime 类中的以 plus 开头实例方法 

        通过以 plus 开头的实例方法,可以把某个信息增加,需要重点注意的是,每次增加对象某个信息的时候,都会返回一个新的对象

代码如下:

import java.time.LocalDateTime;
import java.time.LocalDate;
import java.time.LocalTime;public class LocalDate_LocalTime_LocalDateTime {public static void main(String[] args) {LocalDate localDate = LocalDate.of(2025,12,12);LocalDate reviseLocalDate2 = localDate.plusYears(5);LocalDate reviseLocalDate3 = localDate.plusMonths(11);LocalDate reviseLocalDate4 = localDate.plusDays(22);System.out.println(localDate);System.out.println(reviseLocalDate2);System.out.println(reviseLocalDate3);System.out.println(reviseLocalDate4);System.out.println("----------------------------------------");LocalTime localTime = LocalTime.of(11,11,11);LocalTime reviseLocalTime2 = localTime.plusHours(12);LocalTime reviseLocalTime3 = localTime.plusMinutes(12);LocalTime reviseLocalTime4 = localTime.plusSeconds(12);System.out.println(localTime);System.out.println(reviseLocalTime2);System.out.println(reviseLocalTime3);System.out.println(reviseLocalTime4);System.out.println("-----------------------------------------");LocalDateTime localDateTime = LocalDateTime.of(localDate,localTime);LocalDateTime reviseLocalDateTime2 = localDateTime.plusYears(2028);LocalDateTime reviseLocalDateTime3 = localDateTime.plusMonths(3);LocalDateTime reviseLocalDateTime4 = localDateTime.plusDays(9);LocalDateTime reviseLocalDateTime5 = localDateTime.plusHours(10);LocalDateTime reviseLocalDateTime6 = localDateTime.plusMinutes(11);LocalDateTime reviseLocalDateTime7 = localDateTime.plusSeconds(12);System.out.println(localDateTime);System.out.println(reviseLocalDateTime2);System.out.println(reviseLocalDateTime3);System.out.println(reviseLocalDateTime4);System.out.println(reviseLocalDateTime5);System.out.println(reviseLocalDateTime6);System.out.println(reviseLocalDateTime7);}
}

运行结果如下:

        

        1.6 LocalDate 类与 LocalTime 类、LocalDateTime 类中的以 minus 开头实例方法 

        通过以 minus 开头的实例方法,可以把某个信息减少,需要重点注意的是,每次减少对象某个信息的时候,都会返回一个新的对象

代码如下:

import java.time.LocalDateTime;
import java.time.LocalDate;
import java.time.LocalTime;public class LocalDate_LocalTime_LocalDateTime {public static void main(String[] args) {LocalDate localDate = LocalDate.of(2025,12,12);LocalDate reviseLocalDate2 = localDate.minusYears(5);LocalDate reviseLocalDate3 = localDate.minusMonths(11);LocalDate reviseLocalDate4 = localDate.minusDays(22);System.out.println(localDate);System.out.println(reviseLocalDate2);System.out.println(reviseLocalDate3);System.out.println(reviseLocalDate4);System.out.println("---------------------------------------");LocalTime localTime = LocalTime.of(11,11,11);LocalTime reviseLocalTime2 = localTime.minusHours(12);LocalTime reviseLocalTime3 = localTime.minusMinutes(12);LocalTime reviseLocalTime4 = localTime.minusSeconds(12);System.out.println(localTime);System.out.println(reviseLocalTime2);System.out.println(reviseLocalTime3);System.out.println(reviseLocalTime4);System.out.println("----------------------------------------");LocalDateTime localDateTime = LocalDateTime.of(localDate,localTime);LocalDateTime reviseLocalDateTime2 = localDateTime.minusYears(2028);LocalDateTime reviseLocalDateTime3 = localDateTime.minusMonths(3);LocalDateTime reviseLocalDateTime4 = localDateTime.minusDays(9);LocalDateTime reviseLocalDateTime5 = localDateTime.minusHours(10);LocalDateTime reviseLocalDateTime6 = localDateTime.minusMinutes(11);LocalDateTime reviseLocalDateTime7 = localDateTime.minusSeconds(12);System.out.println(localDateTime);System.out.println(reviseLocalDateTime2);System.out.println(reviseLocalDateTime3);System.out.println(reviseLocalDateTime4);System.out.println(reviseLocalDateTime5);System.out.println(reviseLocalDateTime6);System.out.println(reviseLocalDateTime7);}
}

运行结果如下:

        1.7 LocalDate 类与 LocalTime 类、LocalDateTime 类中 equals() 、isBefore()、isAfter() 例方法 

        equals() 用来判断两个相同类型的对象的内容如,日期、时间、日期时间是否相同

        isBefore() 用来判断两个相同类型的对象的内容如,日期、时间、日期时间是否为调用该方法的对象之前

        isAfter() 用来判断两个相同类型的对象的内容如,日期、时间、日期时间是否为调用该方法的对象之后

以代码如下(equals() 方法为例):

import java.time.LocalDateTime;
import java.time.LocalDate;
import java.time.LocalTime;public class LocalDate_LocalTime_LocalDateTime {public static void main(String[] args) {LocalDate a = LocalDate.of(2023,12,12);LocalDate b = LocalDate.of(2023,12,12);System.out.println(a.equals(b));System.out.println("----------------------------------------");LocalTime c = LocalTime.of(9,30,30);LocalTime d = LocalTime.of(9,30,30);System.out.println(c.equals(d));System.out.println("----------------------------------------");LocalDateTime e = LocalDateTime.of(a,c);LocalDateTime f = LocalDateTime.of(b,d);System.out.println(e.equals(f));}}

运行结果如下:



        小结,这几个类的API,可以相对比的去学习,不算很难,多敲代码熟练掌握即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/105723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vu3中样式穿透不生效处理

Vu3中样式穿透不生效处理 代码查看F12处理- 方法一父组件修改为单根组件 代码 App.vue <template><p>父组件</p><hello-world></hello-world> </template><script setup> import HelloWorld from "./components/HelloWorld.v…

蓝桥杯 第 1 场算法双周赛 第三题 分组【算法赛】c++ 贪心+双指针

题目 分组【算法赛】 难度: 中等 问题描述 蓝桥小学要进行弹弹球游戏&#xff0c;二年级一班总共有 n 个同学&#xff0c;要求分成 k 个队伍&#xff0c;由于弹弹球游戏要求队员的身高差不能太大&#xff0c;小蓝是班长&#xff0c;他对这个事情正在发愁&#xff0c;他想问…

【多媒体技术与实践】使用OpenCV处理图像(实验三.上)

1&#xff1a;图像直方图 将原彩色图像转成灰度图像&#xff0c;得到该灰度图像的灰度直方图&#xff0c;并对灰度直方图进行直方图均衡化&#xff0c;将原图、灰度图、直方图及均衡化后的直方图一起拼接为一张图片 import cv2 import numpy as np import matplotlib.pyp…

浅谈压力测试的作用是什么

随着现代应用程序变得越来越复杂&#xff0c;用户的期望也在不断提高&#xff0c;对性能和可靠性的要求变得更加苛刻。在应用程序开发和维护的过程中&#xff0c;压力测试是一项至关重要的活动&#xff0c;它可以帮助发现潜在的问题、评估系统的性能极限&#xff0c;以及确保在…

4、在 CentOS 8 系统上安装 pgAdmin 4

pgAdmin 4 是一个开源的数据库管理工具&#xff0c;专门用于管理和操作 PostgreSQL 数据库系统。它提供了一个图形用户界面&#xff08;GUI&#xff09;&#xff0c;使用户能够轻松地连接到 PostgreSQL 数据库实例&#xff0c;执行 SQL 查询&#xff0c;管理数据库对象&#xf…

MySQL简介

数据库管理系统 1、关系型数据库管理系统: Oracle:Oracle是一种商业级关系型数据库管理系统,支持高可用性、高安全性以及广泛的企业级应用需求。SQL Server:SQL Server是Microsoft开发的企业级关系型数据库管理系统,广泛应用于Windows环境下的软件开发。MySQL:MySQL是一…

智能指针与定制删除器

定制删除器 前面我们的智能指针就是&#xff1a; RAII。 像指针一样。 但是我们的智能指针的析构函数就只是 delete。 // 这里简单的看一下 shared_ptr 就知道了~shared_ptr(){if (--(*_pcount) 0){delete _ptr;delete _pcount;}} 那么如果我们想要 new[] 呢&#xff1f…

基于知识图谱建模、全文检索的智能知识管理库(源码)

一、项目介绍 一款全源码&#xff0c;可二开&#xff0c;可基于云部署、私有部署的企业级知识库云平台&#xff0c;一款让企业知识变为实打实的数字财富的系统&#xff0c;应用在需要进行文档整理、分类、归集、检索、分析的场景。 知识图谱提供了一种从海量文本和图像中抽取结…

2023大联盟2比赛总结

比赛链接 反思 T1 奇怪的贪心和构造题一直是我的软肋部分 T2 简单题 T3 也不难 T4 套路没学过&#xff0c;感觉还是太菜了 题解 A 考虑先给图随便染色&#xff0c;然后调整 因为每个点的度数为 3 3 3&#xff0c;所以如果有 x → u → v x\to u\to v x→u→v 的颜…

自定义类型:结构体,枚举,联合 (2)

2. 位段 位段的出现就是为了节省空间。 2.1 什么是位段 位段的声明和结构是类似的&#xff0c;有两个不同&#xff1a; 1.位段的成员必须是 int、unsigned int 或signed int 。 2.位段的成员名后边有一个冒号和一个数字。 比如&#xff1a; struct A {int _a:2;int _b:5;int…

Pygame中将鼠标形状设置为图片2-2

3 编写主程序 在主程序中&#xff0c;首先创建屏幕并且完成一些准备工作&#xff0c;之后在while循环中不断更新sprite实例即可。 3.1 创建屏幕及准备工作 创建屏幕及准备工作的代码如图5所示。 图5 创建屏幕及准备工作 其中&#xff0c;第20行代码调用pygame.mouse模块中的…

Hadoop3教程(五):NameNode和SecondaryNameNode

文章目录 &#xff08;59&#xff09;NN和2NN的工作机制&#xff08;60&#xff09;FsImage镜像文件&#xff08;61&#xff09;Edits编辑日志&#xff08;62&#xff09;Checkpoint时间设置参考文献 &#xff08;59&#xff09;NN和2NN的工作机制 NameNode的数据是存储在磁盘…

思维模型 正/反 木桶理论

本系列文章 主要是 分享 思维模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。 1 正/反 木桶理论的应用 1.1 木桶理论的应用 1.1.1 正木桶理论在考试中的应用 小明是一名理科高中生&#xff0c;他在学习过程中发现自己在数理化方面表现较好&#xff0c;但在语文和英…

【02】基础知识:React - jsx语法规则

一、jsx 简介 全称为JavaScript XML&#xff0c;是 react 定义的一种类似于 XML 的 JS 扩展语法 JS XML 本质是 React.createElement(component, props, …children) 方法的语法糖&#xff0c;用来简化创建虚拟 DOM 写法&#xff1a;var ele <h1>Hello JSX!</h1&…

多个Python包懒得import,那就一包搞定!

使用Python时&#xff0c;有的代码需要依赖多个框架或库者来完成&#xff0c;代码开头需要import多次&#xff0c;比如&#xff0c; import pandas as pd from pyspark import SparkContext from openpyxl import load_workbook import matplotlib.pyplot as plt import seabo…

bootz启动 Linux内核涉及do_bootm_linux 函数

一. bootz启动Linux uboot 启动Linux内核使用bootz命令。当然还有其它的启动命令&#xff0c;例如&#xff0c;bootm命令等等。 本文只分析 bootz命令启动 Linux内核的过程中涉及的几个重要函数。具体分析 do_bootm_linux函数执行过程。 本文继上一篇文章&#xff0c;地址…

[netty-websocket-boot-starter] 基于Netty的轻量级、高性能的WebSocket框架

简介 这是一个轻量级、高性能的基于 Netty 的 WebSocket 框架&#xff0c;提升你的 WebSocket 开发体验&#xff0c;为 Spring Boot 带来全新的 WebSocket 功能。 该项目使你可以轻松集成 WebSocket 到你的 Spring Boot 项目中&#xff0c;提供了 Tomcat WebSocket 的简单性&a…

windows flask 多进程高并发

最近在做的一个项目&#xff0c;需要将十几个python函数封装程flask服务供外界调用&#xff0c;每个函数之间没有什么关系&#xff0c;相互独立。虽然感觉不是很难&#xff0c;但因为用的windows系统&#xff0c;遇到的坑比较多&#xff0c;在此一一总结一下。 flask偶尔出现卡…

多线程并发篇---第十二篇

系列文章目录 文章目录 系列文章目录一、说说ThreadLocal原理?二、线程池原理知道吗?以及核心参数三、线程池的拒绝策略有哪些?一、说说ThreadLocal原理? hreadLocal可以理解为线程本地变量,他会在每个线程都创建一个副本,那么在线程之间访问内部 副本变量就行了,做到了…

服务供应商安全管理制度

1、总则 1.1、目的 为了规范XXXXX单位信息系统建设和运行过程中服务商的选择&#xff0c;按照信息安全等级保护要求进行服务商管理&#xff0c;特制定本管理规范。 1.2、范围 本办法适用于XXXXX单位在信息化建设和运行过程中服务商选择的安全管理。 1.3、职责 较小项目由…