/**
*
* @note
* @author zhouyy <br>
* Apr 14, 2017 5:21:12 PM
* @version
*/
package com.bytter.util; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.Date; /**
*
* @note
* @author zhouyy <br>
* Apr 14, 2017 5:21:12 PM
* @version
*/
public class NewDate { /**
* 获取当前日期 格式 LocalDate
*
* @return
*/
public static LocalDate getLocalDateNow() {
return LocalDate.now();
} /**
* LocalDate 转 String
*
* @param date
* @return
*/
public static String getLocalDateStr(LocalDate date, String pattern) {
return date.format(DateTimeFormatter.ofPattern(pattern));
} /**
* 取得日期所在月的最后一天 LocalDate
*
* @param date
* @return String
*/
public static String getLastMonthDay(LocalDate date) {
return date.with(TemporalAdjusters.lastDayOfMonth()).toString();
} /**
* 把字符串转成 LocalDate <br>
* strDate 格式就是 aMask
*
* @param aMask
* @param strDate
* @return
*/
public static LocalDate getLocalDate(String aMask, String strDate) {
return LocalDate.parse(strDate, DateTimeFormatter.ofPattern(aMask));
} /**
* java.sql.Date 转 LocaDate<br>
* jdk1.8
*
* @param date
* @return
*/
public static LocalDate sqlDateTolocalDate(java.sql.Date date) {
return date.toLocalDate();
} /**
* java.util.Date 转 LocaDate
*
* @param date
* @return
*/
public static LocalDate DateTolocalDate(Date date) {
return sqlDateTolocalDate(new java.sql.Date(date.getTime()));
} /**
* LocalDate 转 java.util.Date
*
* @param date
* @return
*/
public static Date localDateToDate(LocalDate date) {
try {
return new SimpleDateFormat("yyyy-MM-dd").parse(date.toString());
} catch (ParseException e) {
System.out.println("LocalDate类型 日期转 Date 报错");
e.printStackTrace();
}
return null;
} /**
* LocalDate 转 java.sql.Date
*
* @param date
* @return
*/
public static java.sql.Date localDateToSqlDate(LocalDate date) {
return new java.sql.Date(localDateToDate(date).getTime());
} /**
* 两日期间隔天数
*
* @param date
* @param compareDate
* @return
*/
public static int getSubDayOfDate(LocalDate date, LocalDate compareDate) {
return (int) (date.toEpochDay() - compareDate.toEpochDay());
} /**
* date 加/减 天 对应的日期
*
* @param date
* @param day
* @return
*/
public static LocalDate getBeforeAfterDate(LocalDate date, int day) {
return date.plusDays(day);
} /**
* date 加/减月 对应的日期
*
* @param date
* @param day
* @return
*/
public static LocalDate getBeforeAfterMonth(LocalDate date, int month) {
return date.plusMonths(month);
} /**
* date 加/减年 对应的日期
*
* @param date
* @param day
* @return
*/
public static LocalDate getBeforeAfterYear(LocalDate date, int year) {
return date.plusYears(year);
} /**
* LocalDateTime 类型转 string
*
* @param dateTime
* @return
*/
public static String getLocalDateTime(LocalDateTime dateTime, String pattern) {
return dateTime.format(DateTimeFormatter.ofPattern(pattern));
} }

1.8 全新日期api的更多相关文章

  1. Java 8时间和日期API 20例

    本文由 ImportNew - Sandy 翻译自 javarevisited.欢迎加入翻译小组.转载请见文末要求. 伴随lambda表达式.streams以及一系列小优化,Java 8 推出了全新的 ...

  2. java8新特性——时间日期API

    传统的时间 API 存在线程安全的问题,在多线程开发中必须要上锁,所以 java8 现在为我们提供了一套全新的时间日期 API ,今天进来学习一下java8 的时间日期 API. 一.使用 Local ...

  3. Java8新特性(三)——Optional类、接口方法与新时间日期API

    一.Optional容器类 这是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象. 查看结构图可以看到有如下常用方法: of(T)—— ...

  4. 日期API

    Java 8 在包java.time下包含了一组全新的时间日期API.下面的例子展示了这组新API里最重要的一些部分: 1.Clock 时钟 Clock类提供了访问当前日期和时间的方法,Clock是时 ...

  5. Java 8 新的时间日期 API

    1. 概述 1.1 简介 Java 8 引入了一套全新的时间日期API,操作起来更简便.简单介绍下,LocalDate和LocalTime和LocalDateTime的使用: java.util.Da ...

  6. [转]JavaSE 8—新的时间和日期API

    为什么我们需要一个新的时间日期API Java开发中一直存在一个问题,JDK提供的时间日期API一直对开发者没有提供良好的支持. 比如,已有的的类(如java.util.Date和SimpleDate ...

  7. Linux 设置系统时间和日期 API

    嵌入式Linux 设置时间和日期 API ,它是busybox要提取的源代码. Linux设置时间和日期的步骤: 1. 设置系统时间和日期: 2. 该系统的时间和日期,同步到硬件. #include ...

  8. Java 8 的时间日期 API

    上一篇文章『Java 的时间日期 API』中,我们学习了由 Date.Calendar,DateFormat 等组成的「传统时间日期 API」,但是传统的处理接口设计并不是很友好,不易使用.终于,Ja ...

  9. (转载)Java8新的日期API LocalDate, LocalTime

    前言 由于Java Date的各种问题,Java8推出了新的日期API,很受一拨人的追捧. 为什么我们需要新的Java日期/时间API? 在开始研究Java 8日期/时间API之前,让我们先来看一下为 ...

随机推荐

  1. inline void 树状数组神奇感悟【雾

    才发现扫描线可以用树状数组搞... 致远星患者 (另外根据这篇博文的内容怎么越来越感觉自己往 PJ 入门靠拢了...) 还有一点,咱把树状数组当做线段树来康的话其实一切都会很清晰,这个来张四合一的图: ...

  2. mysql文本后面带换行符导致查询不到

    UPDATE tablename SET  FIELD = REPLACE(REPLACE(FIELD, CHAR(10), ''), CHAR(13), ''); CHAR(10):  换行符 CH ...

  3. centos7配置mysql8.0主从复制

    注意:1.主库:10.1.131.75,从库:10.1.131.762.server-id必须是纯数字,并且主从两个server-id在局域网内要唯一. [主节点]vi /etc/my.cnf[mys ...

  4. webstorm 如何去掉下划线

    当前webstorm版本:2018.3.5 百度了也没找到解决办法,最终结合了和群友的给的位置,找到了修改地方,只能怪版本迭代太快了,要适应 右上角Effects点掉就可以了

  5. iOS 10 下 Plus 启动APP 导致Icon 铺满全屏问题

    1.解决方法,添加LacuchScreen 启动图需要手动适配 http://stackoverflow.com/questions/39571694/ipad-application-shows-a ...

  6. linux下重启tomcat命令

    在Linux系统下,重启Tomcat使用命令操作的! 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh 查看 ...

  7. 自己对GIS的思考

    这只是我自己的理解,谈不上对整个行业的理解,只能从自己的角度谈谈GIS,谈谈爱和恨. 现在在武汉的一所所谓的全国GIS数一数二的学校里面读硕士,从高中开始我就很喜欢地理学科,大学选择了地球信息科技这个 ...

  8. 【ZIP】打包过滤指定目录和文件

    zip -r project.zip project/ -x@exclude.lst #目录过滤 # 直接目录,如 public public/* # 嵌套目录 如 node_modules */no ...

  9. VMware 问题

    桥接模式下,小鸡上不了网问题 多网卡导致的问题 解决:编辑-虚拟网络编辑器 选择vmnet0,然后点击右下角更改设置 把自动改为指定要桥接的网卡,然后点击确定,测试看看.

  10. SpringBootMVC04——Mybatis

    简介 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement. ...