当前位置:网站首页>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);
边栏推荐
- Chapter7 : Network-Driven Drug Discovery
- Data warehouse (1) What is data warehouse and what are the characteristics of data warehouse
- js数据类型、节流/防抖、点击事件委派优化、过渡动画
- Codeforces Round #811 (Div. 3)
- 无代码平台字段设置:基础设置入门教程
- 【SQL之降龙十八掌】01——亢龙有悔:入门10题
- STP基本配置及802.1D生成树协议的改进
- win10 uwp use WinDbg to debug
- dotnet 启动 JIT 多核心编译提升启动性能
- 1、File对象学习
猜你喜欢
随机推荐
Oreo domain name authorization verification system v1.0.6 public open source version website source code
88. (the home of cesium) cesium polymerization figure
3、IO流之字节流和字符流
jekyll 在博客添加流程图
【手把手教你使用STM32HAL库的串口空闲中断】
【PCBA program design】Grip dynamometer program
二叉搜索树解决硬木问题
Common methods of js's new Function()
结构体小结
dotnet 启动 JIT 多核心编译提升启动性能
MATLAB中readtimetable函数用法
传奇服务器需要什么配置?传奇服务器租用价格表
Chapter7 : Network-Driven Drug Discovery
LayaBox---TypeScript---Problems encountered at first contact
两种白名单限流方案(redis lua限流,guava方案)
visual studio 2015 warning MSB3246
【随记】新一天搬砖 --20220727
js数据类型、节流/防抖、点击事件委派优化、过渡动画
mdk5.14无法烧录
DSPE-PEG-Aldehyde,DSPE-PEG-CHO,磷脂-聚乙二醇-醛基一种疏水18碳磷脂









