Java8中LocalDate的使用---项目中日期处理
// 获取当前日期
LocalDate now = LocalDate.now();
// 设置日期
LocalDate now2 = LocalDate.of(2099, 2, 28);
// 解析日期,格式必须是yyyy-MM-dd
LocalDate now3 = LocalDate.parse("2018-01-12");
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd");
String formatRs = now.format(dtf);
// 取本月第一天
LocalDate firstDay = now.with(TemporalAdjusters.firstDayOfMonth());
LocalDate firstDay2 = now.withDayOfMonth(1);
// 取本月第2天
LocalDate secondDay = now.withDayOfMonth(2);
LocalDate nextMonthDay = now.with(TemporalAdjusters.firstDayOfNextMonth());
LocalDate nextYearDay = now.with(TemporalAdjusters.firstDayOfNextYear());
// 明年的这一天
LocalDate localDate = now.plusYears(1);
// 当前日期加上往后推20天
LocalDate plusDate = now.plus(20, ChronoUnit.DAYS);
LocalDate plusYear = now.plus(10, ChronoUnit.YEARS);
// 当前日期往前推10天
LocalDate minusDay = now.minusDays(10);
LocalDate minusYear = now.minus(10, ChronoUnit.YEARS);
//localDate转Date
ZoneId zoneId = ZoneId.systemDefault();
ZonedDateTime zdt = now.atStartOfDay(zoneId);
Instant instant = zdt.toInstant();
Date fromDate = Date.from(instant);
// Date转LocalDate
Date date = new Date();
Instant instantToUse = date.toInstant();
ZoneId zoneIdToUse = ZoneId.systemDefault();
LocalDate localDateToShow = instantToUse.atZone(zoneIdToUse).toLocalDate();
// 比较日期大小
boolean b1 = localDateToShow.equals(LocalDate.of(2018, 04, 27));
boolean b2= localDateToShow.equals(LocalDate.of(2018, 04, 26));
// 判断日期前后 -> false
boolean b3 = localDateToShow.isAfter(LocalDate.of(2018, 04, 26));//false
boolean b4 = localDateToShow.isAfter(LocalDate.of(2018, 04, 25));//true
boolean b5 = localDateToShow.isBefore(LocalDate.of(2018, 04, 26));//false
boolean b6 = localDateToShow.isBefore(LocalDate.of(2018, 04, 25));//false
boolean b7 = localDateToShow.isBefore(LocalDate.of(2018, 04, 27));//true
// 计算两个日期之间的时间间隔 格式为:x年x月x天
Period between = Period.between(localDateToShow, LocalDate.of(2018, 05, 28));
long bwDays = ChronoUnit.DAYS.between(localDateToShow, LocalDate.of(2018, 05, 28));
Java8中LocalDate的使用---项目中日期处理的更多相关文章
- Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图(转载)
Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图 2017年04月05日 10:53:13 李学凯 阅读数:104997更多 所属专栏: Intellij Idea ...
- 解决tomcat下面部署多个项目log4j的日志输出会集中输出到一个项目中的问题
在一次项目上线后,发现了一个奇怪的问题,经过对源码的阅读调试终于解决,具体经过是这样的: 问题描述:tomcat7下面部署多个项目,log4j的日志输出会集中输出到一个项目中,就算配置了日志文件的绝对 ...
- vue 项目中的坑 在项目中遇到 持续更新ing
1.vue2.0 不支持 v-html 后绑定的内容使用过滤,可是有时候过滤必须使用-----------解决:通过methods中定义方法 然后 v-html='myMethods(string)' ...
- 在eclipse中如何在大量项目中查找指定文件
在eclipse中如果希望在大量的项目中寻找指定的文件可不是一件轻松的事,还好eclipse提供了强大的搜索功能. 我们可以通过通配符或正则表达式来设定查寻条件,下面是操作示例: ctrl+h 打开搜 ...
- 在eclipse中如何在大量项目中查找指定文件(转载)
转载:http://blog.csdn.net/inowcome/article/details/6699227 在eclipse中如果希望在大量的项目中寻找指定的文件可不是一件轻松的事,还好ecli ...
- Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图
Maven 组件界面介绍 如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有: 第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项 ...
- IDEA中的maven web 项目中如何设置自己的本地仓库
我们在创建maven项目的时候如何不使用系统指定的本地仓库,而使用自己设置的仓库呢,这里小女子就来进行讲解一下吧! 讲解一:你要想找到settings.xml你就要自己我去官网上去下载apache-m ...
- TP v5中环境变量在项目中的应用
环境变量,顾名思义就是在不同的系统环境,同一个变量的值可以有所不同. 如开发环境.测试环境与正式环境下,数据库配置.静态资源文件Url前缀.缓存.各种key等配置都不相同,对于提交到仓库中的代码,理论 ...
- (网页)SQLserver中在上线的项目中遇到科学计数法怎么办?
遇到这个问题,首先上线的数据能清除吗?显然是不能的. 1.首先要去找这些科学计数法的数字是哪里来的. 2.怎么在不改变数据的情况下去操作这张表.可以使用convert()转一下Decimal.
随机推荐
- 实战FFmpeg--iOS平台使用FFmpeg将视频文件转换为YUV文件
做播放器的开发这里面涉及的东西太多,我只能一步步往前走,慢慢深入.播放器播放视频采用的是渲染yuv文件.首先,要知道yuv文件是怎么转换得来的,其次,要知道怎么把视频文件保存为yuv文件.雷神的文章1 ...
- SSH框架笔记01_SSH整合的两种方式
目录 1. 框架回顾 2. 创建项目,引入jar包 2.1 Struts2的jar包 2.2 Hibernate的jar包 2.3 Spring的jar包 3. 引入配置文件 3.1 Struts2配 ...
- 阿里云SOP
阿里云SOP 摘要 注册阿里云账号. 领取及配置ECS. 领取及配置RDS. 部署网站. 注册阿里云账号 在主页点击注册 填入相应的信息 领取及配置ECS 注册后领取免费的ECS,RDS. 打开控制台 ...
- c# 字符串修改
- c# System.Array
- QEMU简介
参考:What Is the Difference between QEMU and KVM? 注意:上面参考文章有个错误,他把KVM算成类型一虚拟化,应该是类型2虚拟化. 关于类型一虚拟化和类型二虚 ...
- 【Flask】 python学习第一章 - 3.0 正则转换和错误捕捉
3.1正则转换器定义 Class RegexConverter(BaseConverter): regex = "[0-9]{6}" app.url_map.converters[ ...
- centos7误删除python2.7导致的python和yum不可用处理
centos7误删除python2.7后导致yum不可用: 问题截图 解决方法: 1.在opt目录下创建site_package/python3递归目录,然后下载以下RPM包,并存入/opt/site ...
- c#中关于textbox换行
要让一个Windows Form的TextBox显示多行文本就得把它的Multiline属性设置为true. 这个大家都知道,可是当你要在代码中为Text属性设置多行文本[的时候可能会遇到点麻烦:) ...
- 【Vue-01】基础Vue语法+JS复习
Vue学习疑问及总结_SZS 0.vue router 带参数跳转 发送:this.$router.push({path:'/news',query:{id:row.id}}) 接收:var id=t ...