当前位置:网站首页>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);
边栏推荐
- 如何最简单、通俗地理解爬虫的Scrapy框架?
- dotnet delete read-only files
- SPSS-System Clustering Software Practice
- 机器学习_02
- Red team kill-free development practice of simulated confrontation
- 大势所趋之下的nft拍卖,未来艺术品的新赋能
- deepstream多相机显示布局
- LayaBox---TypeScript---首次接触遇到的问题
- Oreo domain name authorization verification system v1.0.6 public open source version website source code
- 2、字符集-编码-解码
猜你喜欢
随机推荐
PowerCLi batch configuration of NTP
Android 面试——如何写一个又好又快的日志库?
[2022 Hangzhou Electric Power Multi-School 5 1012 Questions Buy Figurines] Application of STL
暴雨中的人
【分布式】分布式ID生成策略
DSPE-PEG-Aldehyde,DSPE-PEG-CHO,磷脂-聚乙二醇-醛基一种疏水18碳磷脂
Red team kill-free development practice of simulated confrontation
8 年产品经验,我总结了这些持续高效研发实践经验 · 协同篇
JWT主动校验Token是否过期
mysql基础
visual studio 2015 warning MSB3246
路由中的meta、params传参的一些问题(可传不可传,为空,搭配,点击传递多次参数报错)
数电快速入门(三)(卡诺图化简法的介绍)
dotnet compress Stream or file using lz4net
Spss-一元回归实操
PCBA scheme design - kitchen voice scale chip scheme
Cryptography Series: PEM and PKCS7, PKCS8, PKCS12
【Programming Ideas】
如何最简单、通俗地理解爬虫的Scrapy框架?
传奇服务器需要什么配置?传奇服务器租用价格表