java8中的时间处理
java8中关于时间的处理整理
package com.xb.utils; import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.Date; /**
* Author Mr. Guo
* Create 2019/2/22 - 13:59
*/
public class dateFormatUtils {
//获取当天的日期(2019-02-26)
public static LocalDate getCurrentDate = LocalDate.now();
//获取当前的时间(18:41:32)
public static LocalTime getCurrentTime = LocalTime.now().withNano(0); //指定时间
public static LocalTime time(int hour, int minute, int second) {
return LocalTime.of(hour, minute, second);
} public static LocalTime time2(String time) {
return LocalTime.parse(time);
} //当前时间增加x小时
public static LocalTime nowTimePlusxHour(int incr) {
return dateFormatUtils.getCurrentTime.plusHours(incr);
} public static LocalTime nowTimePlusxHosr(int incr) {
return dateFormatUtils.getCurrentTime.plus(incr, ChronoUnit.HOURS);
} //生日检查或账单日检查
public static boolean judgeBirthday(int year, int month, int day, int cyear, int cmonth, int cday) {
LocalDate birthday = LocalDate.of(year, month, day);
MonthDay birthdayMd = MonthDay.of(birthday.getMonth(), birthday.getDayOfMonth());
MonthDay today = MonthDay.from(LocalDate.of(cyear, cmonth, cday));
return today.equals(birthdayMd);
} //比较当前日期是否在指定日期之后
public static boolean isAfterOrBefore(int year, int month, int day) {
LocalDate today = LocalDate.now();
LocalDate specifyDate = LocalDate.of(year, month, day);
return today.isAfter(specifyDate);
} //获取当前的时区(Asia/Shanghai)
public static ZoneId currentZone = ZoneId.systemDefault(); //查看指定时区的当前时间
public static LocalDateTime pointedDateTime(String zone) {
return LocalDateTime.now(ZoneId.of(zone));
} //获取带有时区的时间(2019-02-26T19:21:51.669+08:00[Asia/Shanghai])
public static ZonedDateTime zonedDateTime(String zone) {
return ZonedDateTime.now(ZoneId.of(zone));
} //比较两个日期的时间差
public static int periodDate(int syear, int smonth, int sday, String condition) {
LocalDate today = LocalDate.now();
LocalDate specifyDate = LocalDate.of(syear, smonth, sday);
Period period = Period.between(specifyDate, today);
if ("day".equals(condition))
return (int) specifyDate.until(today, ChronoUnit.DAYS);
if ("month".equals(condition))
return period.getMonths();
if ("year".equals(condition))
return period.getYears();
return -1;
} //日期时间格式解析、格式化
public static LocalDate dateParse(String specifyDate) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.BASIC_ISO_DATE;
return LocalDate.parse(specifyDate, dateTimeFormatter);
} //转为自定义格式的时间
public static String dateTimeFormatter(String regxDate, int cyear, int month, int cday, boolean ConverCurrentDate) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(regxDate);
if (ConverCurrentDate)
return dateTimeFormatter.format(LocalDate.now());
return dateTimeFormatter.format(LocalDate.of(cyear, month, cday));
} //时间类与Date类的相互转换
public static Instant DateConverInstant() {
Instant instant = Instant.now();
Date date = Date.from(instant);
Instant instant1 = date.toInstant();
return instant1;
} //date转换为LocalDateTime
public static LocalDateTime DateToLocalDateTime() {
Date date = new Date();
return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
} //LocalDateTime转换为Date
public static Date LocalDateTimeToDate() {
LocalDateTime localDateTime = LocalDateTime.now();
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
return Date.from(instant);
} //LocalDate转Date
//LocalDate不包含时间,所以转换date的时候,会默认转为当天时间的,00:00:00
public static Date LocalDateToDate() {
LocalDate localDate = LocalDate.now();
Instant instant = localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant();
return Date.from(instant);
} }
java8中的时间处理的更多相关文章
- java8 中的时间和数据的变化
java8除了lambda表达式之外还对时间和数组这两块常用API做想应调整, Stream 有几个常用函数: store 排序 (a,b)-> a.compareTo(b) 排出来的结果是正 ...
- Java8 中的时间和日期 API
1. 日期和时间概述 LocalDate,LocalTime,LocalDateTime类的实例是不可变的对象,分别表示使用 ISO-8601 日历系统 的日期,时间,日期和时间;它们提供了简单的日期 ...
- Java8新特性时间日期库DateTime API及示例
Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理.同样的,如果你现在依旧在项目中使用传统Date.Calendar和SimpleDateFormat等API ...
- Java8中的LocalDateTime工具类
网上搜索了半天都没有找到Java8的LocalDateTime的工具类,只好自己写了一个,常用功能基本都有.还在用Date的Java同道该换换了. 个人项目地址:https://github.com/ ...
- java8中的接口与时间操作
java8中接口可以有默认方法(用default修饰,可以有多个)和静态方法了. public interface Tran { default public String getName() { r ...
- 都9012了,Java8中的日期时间API你还没有掌握?
一,Java8日期时间API产生的前因后果 1.1 为什么要重新定义一套日期时间API 操作不方便:java中最初的Date不能直接对指定字段进行加减操作也不支持国际化,后来新增了Calendar,但 ...
- 【Java8新特性】关于Java8中的日期时间API,你需要掌握这些!!
写在前面 Java8之前的日期和时间API,存在一些问题,比如:线程安全的问题,跨年的问题等等.这些问题都在Hava8中的日期和时间API中得到了解决,而且Java8中的日期和时间API更加强大.立志 ...
- Java8中时间日期库的20个常用使用示例
除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API.Java对日期, ...
- Java8中Instant和LocalDate来计算时间或者日期间隔
/** * java.time.Instant * java.time.Duration * Instant 默认使用UTC时区:2019-01-24T14:01:32.258Z * mongo中的时 ...
随机推荐
- Gym 102028C - Supreme Command - [思维题][2018-2019 ACM-ICPC Asia Jiaozuo Regional Contest Problem C]
题目链接:https://codeforces.com/gym/102028/problem/C Lewis likes playing chess. Now he has n rooks on th ...
- Restful API设计规范
理解RESTful架构 Restful API设计指南 理解RESTful架构 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式 ...
- 自己用纯C++实现简单的QT中信号与槽机制
前天在我很久以前的一篇博文 (http://blog.csdn.net/liukang325/article/details/45742675) 中有人回复说看到我的博文很激动,希望我详细介绍一下信号 ...
- MAVEN_day01 下载与安装及环境变量的配置
一.MAVEN简介 MAVEN是apache组织下的一个开源项目,是使用纯java编写的,之用于管理java工程. 二.MAVEN下载与安装 下载地址:http://maven.apache.org/ ...
- JQuery插件之【jqGrid】常用语法整理
jqGrid常用语法整理,包含数据获取.常用函数.触发事件等 jqGrid表格数据获取相关语法 获取表格所有数据 $("#grid").jqGrid("getRowDat ...
- (4.9)mysql备份还原——binlog查看工具之mysqlbinlog的使用
关键词:mysqlbinlog,mysql binlog查看,二进制文件查看,binlog查看工具,binlog查看方法 常用总结: [1]在test库redo某个binlog中的文件mysqlbin ...
- Android字符串判断是否包含中文
// 判断一个字符是否是中文 public boolean isChinese(char c) { return c >= 0x4E00 && c <= 0x9FA5;// ...
- java中equals()和==的区别
java中的数据类型 基础数据类型 基础数据类型有byte.short.char.int.long.float.double.bool.String.除了 String 会比较地址,其它的基础类型的比 ...
- JAVA基础——集合——HashMap
HashMap集合: 常用方法(JDK1.8): 从此映射中移除所有映射关系(元素): public void clear() 返回此 HashMap 实例的浅表副本:并不复制键和值本身: p ...
- 《Java程序设计》第二周学习记录(1)
目录 第2章 基本数据类型与数组 2.1 标识符与关键字 2.2 基本数据类型 2.3 类型转换运算 2.4 输入.输出数据 2.5 数组 参考资料 第2章 基本数据类型与数组 2.1 标识符与关键字 ...