Jdk1.8日期类(LocalDate、LocalTime、LocalDateTime)

Jdk1.8新增三大日期常量类,与String类相同都是通过final来修饰,线程安全。

LocalDate:表示日期(年月日)

LocalTime :表示时间(时分秒)

LocalDateTime:表示时间+ 日期 (年月日时分秒),是java8最常用的日期类

LocalDate

常用API
now() 获取默认时区的当前日期对象
now(Clock clock) 从指定时钟获取当前日期对象
now(ZoneId zone) 获取指定时区的当前日期对象
of 根据指定年月日创建LocalDate对象
getYear 获得年份
getMonthValue 获得月份(1-12)
getMonth 获得月份枚举值
getDayOfMonth 获得月份中的第几天(1-31)
getDayOfWeek 获得星期几
getDayOfYear 获得年份中的第几天(1-366)
lengthOfYear 获得当年总天数
lengthOfMonth 获得当月总天数
toEpochDay 与时间纪元(1970年1月1日)相差的天数
plusDays 加天
plusWeeks 加周
plusMonths 加月
plusYears 加年
minusDays 减年
minusWeeks 减周
minusMonths 减月
minusYears 减年
withYear 替换年份
withMonth 替换月份
withDayOfMonth 替换月份中的第几天(1-31)
withDayOfYear 替换年份中的第几天(1-366)
isBefore 是否日期在之前
isAfter 是否日期在之后
isEqual 是否是当前日期
isleapYear 是否是闰年

示例代码

public static void main(String[]args){
LocalDate now1 = LocalDate.now();							// 当前日期 
LocalDate now2 = LocalDate.now(ZoneId.of("Asia/Shanghai"));	// 当前日期 (指定时区)
LocalDate now3 = LocalDate.now(Clock.systemDefaultZone());	// 当前日期 (指定时钟)
LocalDate localDate = LocalDate.of(2023, 1, 1);				// 指定日期 2023-01-01
//获取日期
LocalDate now = LocalDate.now();
int year = now.getYear();						// 获取年份
int month = now.getMonthValue();				// 获取月份(1-12)
Month monthEnum = now.getMonth();				// 获取月份的枚举值
int dayOfMonth = now.getDayOfMonth();			// 获取月份中的第几天(1-31)
int dayOfYear = now.getDayOfYear();				// 获取一年中的第几天(1-366)
DayOfWeek dayOfWeek = now.getDayOfWeek();		// 获取现在是星期几
int dayOfYear = now.getDayOfYear();				// 获取一年中的第几天(1-366)
int lengthOfYear = now.lengthOfYear();			// 获得当年总天数
int lengthOfMonth = now.lengthOfMonth();		// 获得当月总天数
long epochDay = now.toEpochDay();				// 与时间纪元(1970年1月1日)相差的天数
//修改日期
LocalDate now = LocalDate.now();
LocalDate localDate1 = now.plusDays(1);			// 给当前时间加一天
LocalDate localDate2 = now.plusDays(1);			// 给当前时间加一周
LocalDate localDate3 = now.plusMonths(1);		// 给当前时间加一月
LocalDate localDate4 = now.plusYears(1);		// 给当前时间加一年
LocalDate localDate5 = now.minusDays(1);		// 给当前时间减一天
LocalDate localDate6 = now.minusWeeks(1);		// 给当前时间减一周
LocalDate localDate7 = now.minusMonths(1);		// 给当前时间减一月
LocalDate localDate8 = now.minusYears(1);		// 给当前时间减一年
LocalDate now = LocalDate.now();
LocalDate localDate1 = now.withYear(2020);		// 修改日期对象年份为2020
LocalDate localDate2 = now.withMonth(1);		// 修改日期对象月份为1
LocalDate localDate3 = now.withDayOfMonth(1);	// 修改日期对象的日期(一月中的第几天)
LocalDate localDate4 = now.withDayOfYear(1);	// 修改日期对象的日期(一年中的第几天)//日期比较
LocalDate now = LocalDate.now();
LocalDate localDate = LocalDate.of(2023, 1, 1)
boolean isBefore = localDate.isBefore(now);		// localDate是否在当天之前
boolean isAfter = localDate.isAfter(now);		// localDate是否在当天之后
boolean isEqual = localDate.isEqual(now);		// localDate是否在当天
boolean isLeapYear = localDate.isLeapYear();	// localDate是否是闰年
}

LocalTime

常用API
now() 获取默认时区的当前时间
now(ZoneId zone) 获取指定时区的当前时间
now(Clock clock) 从指定时钟获取当前时间
of 根据指定的时、分、秒获取LocalTime 实例
getHour 获取小时
getMinute 获取分钟
getSecond 获取秒
getNano 获取纳秒
plusHours 增加小时数
plusMinutes 增加分钟数
plusSeconds 增加秒数
plusNanos 增加纳秒数
minusHours 减少小时数
minusMinutes 减少分钟数
minusSeconds 减少秒数
minusNanos 减少纳秒数
withHour 替换小时
withMinute 替换分钟
withSecond 替换秒钟
withNano 替换纳秒
compareTo 时间与另一个时间比较
isAfter 检查时间是否在指定时间之后
isBefore 检查时间是否在指定时间之前

示例代码

public static void main(String[]args){
//获取时间
LocalTime now1 = LocalTime.now();							// 当前时间 
LocalTime now2 = LocalTime.now(ZoneId.of("Asia/Shanghai"));	// 当前时间 (指定时区)
LocalTime now3 = LocalTime.now(Clock.systemDefaultZone());	// 当前时间 (指定时钟)
LocalTime localTime = LocalTime.of(9, 9, 9);				// 指定时间 09:09:09
LocalTime now = LocalTime.now();
int hour = now.getHour();						// 获取小时
int minute = now.getMinute();					// 获取小时
int second = now.getSecond();					// 获取秒
int nano = now.getNano();						// 获取纳秒
//修改日期
LocalTime now = LocalTime.now();
LocalTime localTime1 = now.plusHours(1);		// 给当前时间加一小时	
LocalTime localTime2 = now.plusMinutes(1);		// 给当前时间加一分钟	
LocalTime localTime3 = now.plusSeconds(1);		// 给当前时间加一秒
LocalTime localTime4 = now.plusNanos(1);		// 给当前时间加一纳秒
LocalTime localTime1 = now.minusHours(1);		// 给当前时间减一小时
LocalTime localTime2 = now.minusMinutes(1);		// 给当前时间减一分钟	
LocalTime localTime3 = now.minusSeconds(1);		// 给当前时间减一秒
LocalTime localTime4 = now.minusNanos(1);		// 给当前时间减一纳秒
LocalTime now = LocalTime.now();
LocalDate localTime1 = now.withHour(1);			// 修改时间对象小时为1
LocalDate localTime2 = now.withMinute(1);		// 修改时间对象分钟为1
LocalDate localTime3 = now.withSecond(1);		// 修改时间对象秒钟为1
LocalDate localTime4 = now.withNano(1);			// 修改时间对象纳秒为1
//日期比较
LocalTime now = LocalTime.now();
LocalTime localTime = LocalTime.of(9, 9, 9);
int compare = localTime.compareTo(now);		// localTime和当前时间比较--0(相等)正数(大)负数(小)
boolean after = localTime.isAfter(now);		// localTime是否在当前时间之后
boolean before = localTime.isBefore(now);	// localTime是否在当前时间之前
}

LocalDateTime

常用API
now() 获取默认时区的当前日期时间
now(Clock clock) 从指定时钟获取当前日期时间
now(ZoneId zone) 获取指定时区的当前日期时间
of(LocalDate date, LocalTime time) 根据日期和时间对象获取LocalDateTime 对象
of(int year, Month month, int dayOfMonth, int hour, int minute, int second) 根据指定的年、月、日、时、分、秒获取LocalDateTime 实例
getYear 获取年份
getMonth 使用月份枚举类获取月份
getDayOfMonth 获取日期在该月是第几天
getDayOfWeek 获取日期是星期几
getDayOfYear 获取日期在该年是第几天
getHour 获取小时
getMinute 获取分钟
getSecond 获取秒
getNano 获取纳秒
plusYears 增加年
plusMonths 增加月
plusWeeks 增加周
plusDays 增加天
plusHours 增加小时
plusMinutes 增加分
plusSeconds 增加秒
plusNanos 增加纳秒
minusYears 减少年
minusMonths 减少月
meminusWeeks 减少周
minusDays 减少天
minusHours 减少小时
minusMinutes 减少分
minusSeconds 减少秒
minusNanos 减少纳秒
withYear 替换年份
withMonth 替换月份
withDayOfMonth 替换月份中的第几天(1-31)
withDayOfYear 替换年份中的第几天(1-366)
withHour 替换小时
withMinute 替换分钟
withSecond 替换秒钟
withNano 替换纳秒
isEqual 判断日期时间是否相等
isBefore 检查是否在指定日期时间之前
isAfter 检查是否在指定日期时间之后
示例代码

public static void main(String[]args){
//获取日期
// 当前日期
LocalDateTime now1 = LocalDateTime.now();
//当前日期 (指定时区)
LocalDateTime now2 = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));
//当前日期 (指定时钟)
LocalDateTime now3 = LocalDateTime.now(Clock.systemDefaultZone());
//指定日期 2023-01-01 01:01:00
LocalDateTime localDateTime1 = LocalDateTime.of(2023, 1, 1, 1, 1);
//使用LocalDate和LocalTime对象创建LocalDateTime对象
LocalDate localDate = LocalDate.now();
LocalTime localTime = LocalTime.now();
LocalDateTime localDateTime2 = LocalDateTime.of(localDate, localTime);
LocalDateTime now = LocalDateTime.now();
int year = now.getYear();                   	// 获取年份
Month month = now.getMonth();               	// 使用月份枚举值
int dayOfMonth = now.getDayOfMonth();       	// 获取日期在该月是第几天
DayOfWeek dayOfWeek = now.getDayOfWeek();  		// 获取日期是星期几
int dayOfYear = now.getDayOfYear();         	// 获取日期在该年是第几天
int hour = now.getHour();                   	// 获取小时
int minute = now.getMinute();               	// 获取分钟
int second = now.getSecond();               	// 获取秒钟
int nano = now.getNano();                   	// 获取纳秒
//修改日期
LocalDateTime now = LocalDateTime.now();
LocalDateTime localDateTime1 = now.plusDays(1);			// 给当前时间加一天
LocalDateTime localDateTime2 = now.plusDays(1);			// 给当前时间加一周
LocalDateTime localDateTime3 = now.plusMonths(1);		// 给当前时间加一月
LocalDateTime localDateTime4 = now.plusYears(1);		// 给当前时间加一年
LocalDateTime localDateTime5 = now.plusHours(1);		// 给当前时间加一小时
LocalDateTime localDateTime6 = now.plusMinutes(1);		// 给当前时间加一分钟
LocalDateTime localDateTime7 = now.plusSeconds(1);		// 给当前时间加一秒
LocalDateTime localDateTime8 = now.plusNanos(1);		// 给当前时间加一纳秒
LocalDateTime localDateTime9 = now.minusDays(1);		// 给当前时间减一天
LocalDateTime localDateTime10 = now.minusWeeks(1);		// 给当前时间减一周
LocalDateTime localDateTime11 = now.minusMonths(1);		// 给当前时间减一月
LocalDateTime localDateTime12 = now.minusYears(1);		// 给当前时间减一年
LocalDateTime localDateTime13 = now.minusHours(1);		// 给当前时间减一小时
LocalDateTime localDateTime14 = now.minusMinutes(1);	// 给当前时间减一分钟
LocalDateTime localDateTime15 = now.minusSeconds(1);	// 给当前时间减一秒
LocalDateTime localDateTime16 = now.minusNanos(1);		// 给当前时间减一纳秒
LocalDateTime now = LocalDateTime.now();
LocalDateTime localDate1 = now.withYear(2020);		    // 修改日期对象年份为2020
LocalDateTime localDate2 = now.withMonth(1);		    // 修改日期对象月份为1
LocalDateTime localDate3 = now.withDayOfMonth(1);	    // 修改日期对象的日期(一月中的第几天)
LocalDateTime localDate4 = now.withDayOfYear(1);	    // 修改日期对象的日期(一年中的第几天)
LocalDateTime localTime1 = now.withHour(1);			    // 修改时间对象小时为1
LocalDateTime localTime2 = now.withMinute(1);		    // 修改时间对象分钟为1
LocalDateTime localTime3 = now.withSecond(1);		    // 修改时间对象秒钟为1
LocalDateTime localTime4 = now.withNano(1);				// 修改时间对象纳秒为1
//日期比较
LocalDateTime now = LocalDateTime.now();
LocalDateTime localDateTime = LocalDateTime.of(2023, 1, 1, 1, 1);
boolean isBefore = localDateTime.isBefore(now);			// localDateTime是否在当天之前
boolean isAfter = localDateTime.isAfter(now);		    // localDateTime是否在当天之后
boolean isEqual = localDateTime.isEqual(now);		    // localDateTime是否在当天
}

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

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

相关文章

将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表。

题目描述:将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表。 SqList Merge(SqList A, SqList B) {SqList C; // 定义新的有序顺序表C,用于存储合并后的结果C.length 0; // 初始化C的长度为0int i 0; // 指针i用于遍历顺…

LeetCode刷题---两两交换链表中的节点

个人主页:元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏:http://t.csdnimg.cn/D9LVS 前言:这个专栏主要讲述递归递归、搜索与回溯算法,所以下面题目主要也是这些算法做的 我讲述题目会把讲解部分分为3个部分…

dubbo框架技术文档-《spring-boot整合dubbo框架搭建+配置文件》框架的本地基础搭建

阿丹: 目前流行的微服务更多的就是dubbo和springcould微服务。之前阿丹没有出过dubbo相关的文章,因为之前接触springcould的微服务概念比较多一点,但是相对于springcould来说,springcould服务之间的调用是大多是使用了nacos&#…

每日一题:LeetCode-75. 颜色分类

每日一题系列(day 12) 前言: 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 &#x1f50e…

黑马头条数据管理平台项目总结

今天主要看了该项目的介绍,这个黑马头条数据管理平台项目主要包括登录、用户的权限判断、文章内容列表的筛选和分页、文章的增删查改还有图片和富文本编辑器这几大部分组成,项目配套了素材代码,像资源文件、第三方插件、页面文件夹、工具插件…

Vue基础知识点梳理总结归纳

在Vue中,被用来响应地更新HTML属性的指令是v-model页面挂载成功之后会触发哪一个钩子函数mounted挂载之后会进行页面的渲染v-on是动作元素不属于条件渲染指令在Vue中,下列关于Vue实例对象说法不正确的是()。A.Vue实例对象是通过new Vue({})方式创建的。B.Vue实例对象只允许…

Python中PyQt5可视化界面通过拖拽来上传文件

注:这个窗口提供了一个快速上传文件的小tips,如果需要对上传的文件进行进一步处理的可以在“processFiles”函数或者编写其它函数进行扩充就可以。 1、需要安装模块 pip install PyQt5 2、运行效果 1、通过拖拽的方式上传需要的文件到窗口,会…

图表控件LightningChart .NET中文教程 - 如何创建WPF 2D热图?(二)

LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学…

学习数分--简单案例1

业务背景:某服务类app,近期发现日新增用户数下滑明显。 具体描述:假设公司产品(一款本地服务类app),近期发现日新增用户数下滑明显。老板要求你分析:数据异动的原因是什么? #最开始…

Java 数据结构篇-二叉树的深度优先遍历(实现:递归方式、非递归方式)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 二叉树的说明 1.1 二叉树的实现 2.0 二叉树的优先遍历说明 3.0 用递归方式实现二叉树遍历 3.1 用递归方式实现遍历 - 前序遍历 3.2 用递归方式实现遍历 - 中序遍…

第五十六天|583. 两个字符串的删除操作 72. 编辑距离

583. 两个字符串的删除操作 可以求出最大子序列然后用字符串长度去减&#xff0c;也可以用删除的思路&#xff0c;如下&#xff1a; class Solution { public:int minDistance(string word1, string word2) {vector<vector<int>> dp(word1.size()1,vector<int…

逻辑回归 使用Numpy实现逻辑回归

使用Numpy实现逻辑回归 sigmoid 函数 g ( z ) 1 ( 1 e − z ) g(z)\frac{1}{(1e^{−z} )} g(z)(1e−z)1​ # sigmoid 函数 def sigmod(z):return 1/(1np.exp(-z))线性计算与梯度下降 J ( θ ) − 1 m [ ∑ i 1 m y ( i ) l o g ⁡ ( h θ ( x ( i ) ) ) ( 1 − y ( i ) …

ROS 元功能包

ROS元功能包&#xff08;Metapackage&#xff09;是一种特殊的软件包&#xff0c;它本身并不包含任何可执行代码或数据文件。在ROS 1中&#xff0c;可以通过catkin_create_pkg命令创建元功能包。 相反&#xff0c;它的主要目的是作为一组相关功能包的集合或者依赖关系列表。使…

国标GB28181视频监控EasyCVR内网环境部署无法启动怎么办?

安防视频监控系统EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;能对外分发RTMP、RTSP、HTTP-FLV、…

【二叉树】226.翻转二叉树

题目 class Solution {public TreeNode invertTree(TreeNode root) {if (root null || (root.left null && root.right null)) {return root;}TreeNode originR invertTree(root.right);TreeNode originL invertTree(root.left);root.left originR;root.right …

微信聊天窗口测试用例

以前没测过客户端的测试&#xff0c;昨天面试被问到聊天窗口测试场景设计&#xff0c;感觉自己答的不好&#xff0c;结束后上网查了一下客户端/app测试的要点&#xff0c;按照测试策略来分&#xff0c;主要涉及到如下测试类型&#xff1a; 1、功能测试 2、性能测试 3、界面测试…

GS016电动工具调速控制电路芯片,7V ~ 24V 7mA ~ 10mA具 有电源电压范围宽、功耗小、抗干扰能力强等特点

GS016是一款直流有刷电机调速电路&#xff0c;输出端内置14V钳位结构&#xff0c;具 有电源电压范围宽、功耗小、抗干扰能力强等特点。通过桥接内部电阻网 络&#xff0c;可以改变PWM占空比输出&#xff0c;达到控制电机转速作用。采用SOP14的封装形式封装。 主要特点&#xf…

Hadoop学习笔记(HDP)-Part.10 创建集群

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

ipad Google浏览器,使用默认搜索,页面使用pc模式

ipad Google浏览器&#xff0c;使用默认搜索&#xff0c;页面使用pc模式 1. 设置默认搜索引擎 2. 设置页面使用PC模式 参考&#xff1a;https://zhuanlan.zhihu.com/p/556041670

Git 移除已经add的文件

文章目录 前言移除已经add的文件情况一&#xff1a;不删除物理文件情况二&#xff1a;删除物理文件 前言 在使用Git进行文件提交时&#xff0c;有时候我们需要移除已经add的文件。下面将介绍移除已经add的文件。 移除已经add的文件 如果我们需要移除已经add的文件&#xff0c…