1.8 全新日期api
/**
*
* @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的更多相关文章
- Java 8时间和日期API 20例
本文由 ImportNew - Sandy 翻译自 javarevisited.欢迎加入翻译小组.转载请见文末要求. 伴随lambda表达式.streams以及一系列小优化,Java 8 推出了全新的 ...
- java8新特性——时间日期API
传统的时间 API 存在线程安全的问题,在多线程开发中必须要上锁,所以 java8 现在为我们提供了一套全新的时间日期 API ,今天进来学习一下java8 的时间日期 API. 一.使用 Local ...
- Java8新特性(三)——Optional类、接口方法与新时间日期API
一.Optional容器类 这是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象. 查看结构图可以看到有如下常用方法: of(T)—— ...
- 日期API
Java 8 在包java.time下包含了一组全新的时间日期API.下面的例子展示了这组新API里最重要的一些部分: 1.Clock 时钟 Clock类提供了访问当前日期和时间的方法,Clock是时 ...
- Java 8 新的时间日期 API
1. 概述 1.1 简介 Java 8 引入了一套全新的时间日期API,操作起来更简便.简单介绍下,LocalDate和LocalTime和LocalDateTime的使用: java.util.Da ...
- [转]JavaSE 8—新的时间和日期API
为什么我们需要一个新的时间日期API Java开发中一直存在一个问题,JDK提供的时间日期API一直对开发者没有提供良好的支持. 比如,已有的的类(如java.util.Date和SimpleDate ...
- Linux 设置系统时间和日期 API
嵌入式Linux 设置时间和日期 API ,它是busybox要提取的源代码. Linux设置时间和日期的步骤: 1. 设置系统时间和日期: 2. 该系统的时间和日期,同步到硬件. #include ...
- Java 8 的时间日期 API
上一篇文章『Java 的时间日期 API』中,我们学习了由 Date.Calendar,DateFormat 等组成的「传统时间日期 API」,但是传统的处理接口设计并不是很友好,不易使用.终于,Ja ...
- (转载)Java8新的日期API LocalDate, LocalTime
前言 由于Java Date的各种问题,Java8推出了新的日期API,很受一拨人的追捧. 为什么我们需要新的Java日期/时间API? 在开始研究Java 8日期/时间API之前,让我们先来看一下为 ...
随机推荐
- java tomcate 启动后cmd 出现乱码
今天windows 启动tomcat 后,出现cmd 乱码 尝试改cmd编码为UTF-8后无效,修改tomcat 注册表CodePage ,cmd 依然乱码, 后来把Conf 目录下的logging. ...
- PythonDay14
第十四章装饰器 装饰器 # 开放封闭原则- 1.对扩展是开放的- 2.对修改是封闭的# 在不修改源代码和调用方式的情况下,对函数进行扩展# 第一版装饰器def times(func): def ...
- D - 卿学姐与魔法
卿学姐与魔法 Time Limit: 1200/800MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Sta ...
- 剑指offer 剪绳子
题目描述 给你一根长度为n的绳子,请把绳子剪成m段(m.n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m].请问k[0]xk[1]x...xk[m]可能 ...
- sublime text 3 环境设置
1. 设置build system 环境 tool -> build system -> new build system ,粘贴以下代码并保存 { "cmd":[&q ...
- wex5 如何导包
wex5中 导jar包 要先把jar文件放在: E:\WeX5\runtime\BaasServer\WEB-INF\lib目录中(我wex5放的是E盘) 点击项目 --> 属性 --> ...
- flume复习(一)
关于flume官方文档介绍可以去:http://flume.apache.org/看看.接下来就介绍一下关于我个人对flume的理解 一.flume介绍: 1.flume是一个分布式.可靠.和高可用的 ...
- Coursera机器学习笔记(一) - 监督学习vs无监督学习
转载 http://daniellaah.github.io/2016/Machine-Learning-Andrew-Ng-My-Notes-Week-1-Introduction.html 一. ...
- 剑指offer-5:十进制转二进制
一.二进制中‘1’的个数 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. public class Solution { public int NumberOf1(int n) { ...
- 牛客假日团队赛5J 护城河 bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 (凸包的周长)
链接:https://ac.nowcoder.com/acm/contest/984/J 来源:牛客网 护城河 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...