java8 LocalDate整理

//获取当前日期
LocalDate now = LocalDate.now();
System.out.println("系统当前日期为:" + now);

//获取当前日期时间
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println("系统当前日期时间为:" + localDateTime);

//默认时区
ZoneId zoneId = ZoneId.systemDefault();
System.out.println("默认时区:" + zoneId);

//使用默认时区获取当前时间
LocalDate now1 = LocalDate.now(ZoneId.systemDefault());
System.out.println("系统当前时间(使用默认时区)为:" + now1);

//获取指定日期
LocalDate specifiedDate = LocalDate.of(2017, 9, 22);
System.out.println("指定日期为:" + specifiedDate);

//获取指定时间
LocalDateTime specifiedDateTime = LocalDateTime.of(2017, 9, 22, 15, 40, 01);
System.out.println("指定时间为:" + specifiedDateTime);

//获取相差的天数  单位:ChronoUnit.DAYS 天数
LocalDate yesterday = LocalDate.of(2018, 1, 1);
LocalDate today = LocalDate.now(ZoneId.systemDefault());
long betweenDays = yesterday.until(today, ChronoUnit.DAYS);
System.out.println("相差的天数:" + betweenDays);

//获取相差的星期数
long betweenWeeks = yesterday.until(today, ChronoUnit.WEEKS);
System.out.println("相差的星期数:" + betweenWeeks);

//获取相差的世纪
LocalDate pass = LocalDate.of(1911, 1, 1);
long betweenCenturies = pass.until(today, ChronoUnit.CENTURIES);
System.out.println("相差的世纪数:" + betweenCenturies);

//获取相差的几十年 10年为1个单位
LocalDate passDecades = LocalDate.of(2000, 1, 1);
long betweenDecades = passDecades.until(today, ChronoUnit.DECADES);
System.out.println("相差几十年:" + betweenDecades);

//获取相差的纪元
LocalDate passEras = LocalDate.of(2000, 1, 1);
long betweenEras = passEras.until(today, ChronoUnit.ERAS);
System.out.println("相差的纪元:" + betweenEras);

//日期字符串解析为LocalDate对象
LocalDate parseDate = LocalDate.parse("2016-12-31");
System.out.println("字符串解析为LocalDate对象:" + parseDate);

//调整月份
LocalDate currentLocalDate = LocalDate.now();
LocalDate newMonth = currentLocalDate.withMonth(10);
System.out.print("当前的日期为:" + LocalDate.now());
System.out.println("调整当前的日期为:" + newMonth);

//调整当前的时间 不会更改本地计算机的时间
LocalDateTime newCurrentDate = currentLocalDate.atTime(18,7,9);//18:07:09 LocalDateTime没有atTime方法
System.out.print("当前的时间为:" + LocalDateTime.now());
System.out.println("调整当前的时间为:" + newCurrentDate);

//获取当天的起始时间
LocalDate localDate = LocalDate.now();
LocalDateTime startOfDay = localDate.atStartOfDay();
System.out.println("当天的起始时间为:" + startOfDay);

//获取年、月、日
LocalDate nowLocalDate = LocalDate.now();
System.out.println("年份:" + nowLocalDate.getYear());
System.out.println("英文 月份:" + nowLocalDate.getMonth());
System.out.println("数字 月份:" + nowLocalDate.getMonthValue());
System.out.println("日份:" + nowLocalDate.getDayOfMonth());
System.out.println("英文 星期:" + nowLocalDate.getDayOfWeek());
System.out.println("本年已过多少天:" + nowLocalDate.getDayOfYear());

//调整时间
LocalDateTime nowDateTime = LocalDateTime.now();
//明天
LocalDateTime plusDays = nowDateTime.plusDays(1);
System.out.println("明天此时:" + plusDays);
//昨天
LocalDateTime plusDays2 = nowDateTime.plusDays(-1);
System.out.println("昨天此时:" + plusDays2);

//获取日期 时间详细信息
System.out.println(nowDateTime.atZone(ZoneId.systemDefault()));

对应结果为:
系统当前日期为:2018-07-10
系统当前日期时间为:2018-07-10T16:22:51.894
默认时区:GMT+08:00
系统当前时间(使用默认时区)为:2018-07-10
指定日期为:2017-09-22
指定时间为:2017-09-22T15:40:01
相差的天数:190
相差的星期数:27
相差的世纪数:1
相差几十年:1
相差的纪元:0
字符串解析为LocalDate对象:2016-12-31
当前的日期为:2018-07-10调整当前的日期为:2018-10-10
当前的时间为:2018-07-10T16:22:51.941调整当前的时间为:2018-07-10T18:07:09
当天的起始时间为:2018-07-10T00:00
年份:2018
英文 月份:JULY
数字 月份:7
日份:10
英文 星期:TUESDAY
本年已过多少天:191
明天此时:2018-07-11T16:22:51.941
昨天此时:2018-07-09T16:22:51.941
2018-07-10T16:22:51.941+08:00[GMT+08:00]
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值