当前位置:网站首页>LocalDate时间日期包的用法
LocalDate时间日期包的用法
2022-08-04 21:13:00 【很菜的萝卜】
1、获取今天的日期
LocalDate nowLocalDate=LocalDate.now();
2、获取年月日信息
LocalDate nowLocalDate=LocalDate.now();
//年
int year=nowLocalDate.getYear();
//月
int month=nowLocalDate.getMonthValue();
//日
int day=nowLocalDate.getDayOfMonth();
3、处理自定义日期
LocalDate nowLocalDate=LocalDate.of(2022,8,3);
4、判断两个日期是否相等
LocalDate date1=LocalDate.now();
LocalDate date2=LocalDate.of(2018,8,3);
if(date1.equals(date2)){
System.out.println("两个日期是同一天!");
}
5、周期判断-比较月份和日期
MonthDay monthDay1=MonthDay.now();
MonthDay monthDay2=MonthDay.of(8,3);
if(monthDay1.equals(monthDay2)){
System.out.println("两个日期同月同日!");
}
6、获取当前的时间-不含日期
LocalTime localTime=LocalTime.now();
7、在当前时间上微调
LocalTime localTime=LocalTime.now();
//小时
System.out.println(localTime.plusHours(1));
//分钟
System.out.println(localTime.plusMinutes(1));
//秒
System.out.println(localTime.plusSeconds(1));
//纳秒
System.out.println(localTime.plusNanos(1));
8、在当前日期上微调
LocalDate localDate=LocalDate.now();
//调整日期时要使用ChronoUnit来声明日期单位。
System.out.println("一个月以后的日期为:"+localDate.plus(1,ChronoUnit.MONTHS));
9、直接计算指定时间段以后的日期
LocalDate localDate=LocalDate.now();
System.out.println("一个月以前的日期:"+localDate.minus(1,ChronoUnit.MONTHS));
System.out.println("一个月以后的日期:"+localDate.plus(1,ChronoUnit.MONTHS));
10、Clock时钟类-获取当前时间
//返回UTC时区的当前时间
Clock clock=Clock.systemUTC();
System.out.println("systemUTC:"+clock.millis());
//返回默认时区的当前时间
Clock defaultClock=Clock.systemDefaultZone();
System.out.println("systemDefaultZone:"+defaultClock.millis());
11、判断两个日期的先后
LocalDate beforeDate=LocalDate.of(2018,2,1);
LocalDate afterDate=beforeDate.plus(1,ChronoUnit.MONTHS);
if (afterDate.isAfter(beforeDate)){
System.out.println("之后的日期:"+afterDate);
}
if (beforeDate.isBefore(afterDate)){
System.out.println("之前的日期:"+beforeDate);
}
12、处理时区
LocalDateTime localDateTime=LocalDateTime.now();
//指定为上海时区
ZonedDateTime shangHaiDateTime=ZonedDateTime.of(localDateTime,ZoneId.of("Asia/Shanghai"));
//转换为纽约时间
ZonedDateTime newYorkDateTime=shangHaiDateTime.withZoneSameInstant(ZoneId.of("America/New_York"));
13、仅表示年月-YearMonth
YearMonth yearMonth=YearMonth.now();
//lengthOfMonth可用来输出当月的天数
System.out.println("该月的天数:"+yearMonth.lengthOfMonth());
14、检查闰年
LocalDate nowLocalDate=LocalDate.now();
if (nowLocalDate.isLeapYear()) {
System.out.println(nowLocalDate.getYear() + "是闰年!");
}else {
System.out.println(nowLocalDate.getYear() + "不是闰年!");
}
15、计算两个日期之间的天数和月数
//计算同年的月数、同月的天数
LocalDate nowLocalDate=LocalDate.now();
LocalDate oldLocalDate=LocalDate.parse("2022-08-03");
Period period=Period.between(oldLocalDate,nowLocalDate);
System.out.println("months:"+period.getMonths());
System.out.println("year:"+period.getYears());
//计算不同年的月数、不同月的天数,需要使用ChronoUnit指定单位
System.out.println(oldLocalDate.until(nowLocalDate,ChronoUnit.MONTHS));
System.out.println(nowLocalDate.toEpochDay()- oldLocalDate.toEpochDay());
16、时间戳
Instant类似于Date类。他们之间可以相互转换。
Instant instant=Instant.now();
System.out.println("当前的时间戳:"+instant.toEpochMilli());
17、使用JAVA预定义的格式化工具去解析或格式化日期
String dateStr="20190103";
LocalDate formattedLocalDate=LocalDate.parse(dateStr, DateTimeFormatter.BASIC_ISO_DATE);
System.out.println("格式化后的日期为:"+formattedLocalDate);
18、字符串和日期互转
LocalDate nowLocalDate=LocalDate.now();
DateTimeFormatter formatter1=DateTimeFormatter.ofPattern("yyyy/MM/dd");
String dateToStr=nowLocalDate.format(formatter1);
System.out.println("日期转字符串:"+dateToStr);
LocalDate date2=LocalDate.parse(dateToStr,formatter1);
System.out.println("字符串转日期:"+date2);
边栏推荐
- 模拟对抗之红队免杀开发实践
- LayaBox---TypeScript---举例
- Data warehouse (1) What is data warehouse and what are the characteristics of data warehouse
- 【1403. 非递增顺序的最小子序列】
- 如何一键重装win7系统?重装win7系统详细教程
- IPV6地址
- 香港暂停进口俄罗斯部分地区禽肉及禽类产品
- deepstream多相机显示布局
- [2022 Hangzhou Electric Multi-School 5 1003 Slipper] Multiple Super Source Points + Shortest Path
- [2022 Hangzhou Electric Power Multi-School 5 1012 Questions Buy Figurines] Application of STL
猜你喜欢
![OD-Model [6]: YOLOv2](/img/3d/c81846ad0f20e055adf0192fbb8e07.png)
OD-Model [6]: YOLOv2

拒绝服务攻击DDoS介绍与防范

Matlab画图2
![[Data Mining] Written Exam Questions for Sohu Data Mining Engineers](/img/d9/450eeecd5c7835d40ac38da41fc08e.png)
[Data Mining] Written Exam Questions for Sohu Data Mining Engineers

DSPE-PEG-Aldehyde,DSPE-PEG-CHO,磷脂-聚乙二醇-醛基一种疏水18碳磷脂

【2022牛客多校5 A题 Don‘t Starve】DP

使用堡塔应用管理器配置laravel队列方法

如何为Web3.0世界启动完美的DAO
![[2022 Nioke Duo School 5 A Question Don't Starve] DP](/img/fa/f1d11297cc5f58919bcc579f0a82e9.png)
[2022 Nioke Duo School 5 A Question Don't Starve] DP

无代码平台字段设置:基础设置入门教程
随机推荐
数电快速入门(五)(编码器的介绍以及通用编码器74LS148和74LS147的介绍)
【ubuntu20.04安装MySQL以及MySQL-workbench可视化工具】
Hands-on Deep Learning_NiN
简述@RequestParam与@RequestBody参数注解
数电快速入门(三)(卡诺图化简法的介绍)
链队
Five Minutes Introductory Text Processing Three Musketeers grep awk sed
LayaBox---knowledge point
SPSS-System Clustering Software Practice
deepstream多相机显示布局
idea2021版本添加上一步和下一步操作到工具栏
结构体小结
【2022牛客多校5 A题 Don‘t Starve】DP
88. (the home of cesium) cesium polymerization figure
路由中的meta、params传参的一些问题(可传不可传,为空,搭配,点击传递多次参数报错)
js data type, throttling/anti-shake, click event delegation optimization, transition animation
STM32MP157A驱动开发 | 01- 板载LED作为系统心跳指示灯
visual studio 2015 warning MSB3246
C语言知识大全(一)——C语言概述,数据类型
使用堡塔应用管理器配置laravel队列方法