当前位置:网站首页>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);
边栏推荐
- Codeforces Round #811 (Div. 3)
- 拼多多开放平台订单信息查询接口【pdd.order.basic.list.get订单基础信息列表查询接口(根据成交时间)】代码对接教程
- ue unreal 虚幻 高分辨率无缩放 编辑器字太小 调整编辑器整体缩放
- 【C语言】指针和数组的深入理解(第三期)
- 【2022杭电多校5 1012题 Buy Figurines】STL的运用
- LayaBox---知识点
- 知识分享|如何设计有效的帮助中心,不妨来看看以下几点
- 经验分享|盘点企业进行知识管理时的困惑类型
- Spss-系统聚类手算实操
- SPSS-System Clustering Hand Calculation Practice
猜你喜欢
Android 面试——如何写一个又好又快的日志库?
How to understand the crawler's Scrapy framework in the simplest and most popular way?
proe和creo的区别有哪些
OD-Model [6]: YOLOv2
【2022杭电多校5 1003 Slipper】多个超级源点+最短路
【手把手教你使用STM32HAL库的串口空闲中断】
Win11如何开启Telnet客户端?
PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning Code Analysis
Spss-系统聚类手算实操
web漏洞扫描器-awvs
随机推荐
【Programming Ideas】
PowerCLi 批量配置NTP
mdk5.14无法烧录
[2022 Hangzhou Electric Multi-School 5 1003 Slipper] Multiple Super Source Points + Shortest Path
拒绝服务攻击DDoS介绍与防范
dotnet 使用 lz4net 压缩 Stream 或文件
SPSS-unary regression practice
数电快速入门(五)(编码器的介绍以及通用编码器74LS148和74LS147的介绍)
Some problems with passing parameters of meta and params in routing (can be passed but not passed, empty, collocation, click to pass multiple parameters to report an error)
C语言之实现扫雷小游戏
PCBA方案设计——厨房语音秤芯片方案
Matlab画图2
香港暂停进口俄罗斯部分地区禽肉及禽类产品
【PCBA program design】Grip dynamometer program
经验分享|盘点企业进行知识管理时的困惑类型
【随记】新一天搬砖 --20220727
matlab drawing
Comic | Two weeks after the boss laid me off, he hired me back and doubled my salary!
win10 uwp 使用 WinDbg 调试
deepstream多相机显示布局