java8时间---java.time.LocalDate

本文介绍Java 8中新的日期时间API,重点讲解LocalDate类的使用方法,包括初始化、转换、获取和更改日期分量、日期比较及与其他类的交互。此外还介绍了如何处理日期的国际化和时区问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 所有类都是不变的,线程安全的;

2 所有类都提供了格式化和转化方法,不再依靠java.text包,所有类都提供了+-*/等操作时间的方法;

3 所有类都采用工厂模式和策略模式,便于和其它类协同工作;

4 提供了国家化和时区支持,不再依靠java.util.Calendar和java.util.TimeZone类;

****************************************

java.time.LocalDate

日期:年月日

常用方法

1 初始化

LocalDate ld = LocalDate.now();  //2017-11-28,当前日期

LocalDate ld = LocalDate.of(2017, 11, 29);  //2017-11-29,参数都是int

LocalDate ld = LocalDate.of(2017, Month.NOVEMBER, 29);  //2017-11-29,参数有一个Month类型

LocalDate ld = LocalDate.ofYearDay(2017, 1);  //2017-01-01,某年的第几天

LocalDate ld = LocalDate.ofEpochDay(365);  //1971-01-01,距离1970-01-01过了多少天


2 转换

字符串--->日期

LocalDate ld = LocalDate.parse("2017-11-28");  //参数是CharSequence接口,String是它的一个实现类,标准格式字符串

LocalDate ld = LocalDate.parse("28/11/2017",DateTimeFormatter.ofPattern("dd/MM/yyyy"));  //非标准格式

日期--->字符串

String s = LocalDate.now().toString();  //2017-11-28,标准格式

String s = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));  //2017年11月28日,非标准格式


3 获取分量

LocalDate ld = LocalDate.now();  //2017-11-28
  System.out.println(ld.getYear());  //2017,返回int
  System.out.println(ld.getMonth());  //NOVEMBER,返回Month类型,枚举值
  System.out.println(ld.getMonthValue());  //11,返回int
  System.out.println(ld.getDayOfYear());  //332,返回int
  System.out.println(ld.getDayOfMonth());  //28,返回int
  System.out.println(ld.getDayOfWeek());  //TUESDAY,返回DayOfWeek类型,枚举值

System.out.println(ld.toEpochDay());  //17498,1970-01-01到该时间过了多少天


4 更改分量

with开头方法,根据一个时间点更改

plus开头方法,根据一个时间段更改

minus开头方法,根据一个时间段更改


5 日期比较

isBefore()/isAfter()/isEqual()/equals()/compareTo()


6 LocalDate添加时分秒转为LocalDateTime

at开头方法


其它方法

LocalDate ld = LocalDate.now();  //2017-11-28
  System.out.println(ld.isLeapYear());  //false
  System.out.println(ld.lengthOfMonth());  //30
  System.out.println(ld.lengthOfYear());  // 365




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值