jdk8处理时间
对当前时间格式化:
public static long getCurrentTimeMillis(String pattern) {
return Long.valueOf(toString(LocalDateTime.now(), pattern));
}
对指定日期进行格式化:
public static LocalDate toLocalDate(String date, String pattern) {
return LocalDate.parse(date, DateTimeFormatter.ofPattern(pattern)); }
public static String toString(LocalDate date, String pattern) {
return date.format(DateTimeFormatter.ofPattern(pattern));
}
// 计算偏移日期
public static LocalDate getOffsetLocalDate(LocalDate targetDate, ChronoUnit unit, long number) {
return targetDate.plus(number, unit);
} // 获取周一
public static LocalDate getFirstDayOfWeek(LocalDate localDate) {
return localDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
} // 获取周日
public static LocalDate getLastDayOfWeek(LocalDate localDate) {
return localDate.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
} // 获取月初
public static LocalDate getFirstDayOfMonth(LocalDate localDate) {
return localDate.with(TemporalAdjusters.firstDayOfMonth());
} // 获取月末
public static LocalDate getLastDayOfMonth(LocalDate localDate) {
return localDate.with(TemporalAdjusters.lastDayOfMonth());
} // 获取季初
public static LocalDate getFirstDayOfQuarter(LocalDate localDate) {
int month = localDate.getMonthValue();
if (month >= 1 && month <= 3) {
return LocalDate.of(localDate.getYear(), 1, 1);
} else if (month >= 4 && month <= 6) {
return LocalDate.of(localDate.getYear(), 4, 1);
} else if (month >= 7 && month <= 9) {
return LocalDate.of(localDate.getYear(), 7, 1);
} else {
return LocalDate.of(localDate.getYear(), 10, 1);
} } // 获取季末
public static LocalDate getLastDayOfQuarter(LocalDate localDate) {
int month = localDate.getMonthValue();
if (month >= 1 && month <= 3) {
return LocalDate.of(localDate.getYear(), 3, 31);
} else if (month >= 4 && month <= 6) {
return LocalDate.of(localDate.getYear(), 6, 30);
} else if (month >= 7 && month <= 9) {
return LocalDate.of(localDate.getYear(), 9, 30);
} else {
return LocalDate.of(localDate.getYear(), 12, 31);
}
} // 获取半年初
public static LocalDate getFirstDayOfHalfYear(LocalDate localDate) {
int month = localDate.getMonthValue();
if (month >= 1 && month <= 6) {
return LocalDate.of(localDate.getYear(), 1, 1);
} else {
return LocalDate.of(localDate.getYear(), 7, 1);
} } // 获取半年末
public static LocalDate getLastDayOfHalfYear(LocalDate localDate) {
int month = localDate.getMonthValue();
if (month >= 1 && month <= 6) {
return LocalDate.of(localDate.getYear(), 6, 30);
} else {
return LocalDate.of(localDate.getYear(), 12, 31);
}
} // 获取年初
public static LocalDate getFirstDayOfYear(LocalDate localDate) {
return localDate.with(TemporalAdjusters.firstDayOfYear());
} // 获取年末
public static LocalDate getLastDayOfYear(LocalDate localDate) {
return localDate.with(TemporalAdjusters.lastDayOfYear());
} // 计算两个日期相差天数
public static long getIntervalDays(LocalDate localDate1, LocalDate localDate2) {
return Math.abs(localDate1.toEpochDay() - localDate2.toEpochDay());
}
jdk8处理时间的更多相关文章
- java JDK8 学习笔记——第13章 时间与日期
第十三章 时间与日期 13.1 认识时间与日期 13.1.1 时间的度量 1.格林威治标准时间GMT 格林威治标准时间的正午是太阳抵达天空最高点之时.现在已经不作为标准时间使用. 2.世界时UT世界时 ...
- JDK8新垃圾回收机制--G1垃圾回收机制
G1全称是Garbage First Garbage Collector,使用G1的目的是简化性能优化的复杂性.例如,G1的主要输入参数是初始化和最大Java堆大小.最大GC中断时间. G1 GC由Y ...
- 基于jdk8的格式化时间方法
背景 jdk8之前,java使用Date表示时间,在做时间的格式化时,通常使用SimpleDateFormat,但是SimpleDateFormat是非线程安全的,在写代码时通常要将之定义为局部变量或 ...
- 详解 JDK8 新增的日期时间类
JDK8 新增的日期时间类 在本人之前的博文<处理时间的类 -- System类.Date类 .SimpleDateFormat类 与 Calendar类>中,讲到过表示时间的类,有三类: ...
- JDK8 日期格式化
SpringBoot 是为了简化 Spring 应用的创建.运行.调试.部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖 ...
- Day029 JDK8中新日期和时间API (二)
# JDK8中新日期和时间API (二) Instant介绍 Instant:时间线上的一个瞬时点. 这可能被用来记录应用程序中的事件时间 戳. 在处理时间和日期的时候,我们通常会想到年,月,日,时, ...
- JDK7和JDK8一些重要新特性
jdk7新特性(部分) switch支持字符串 List AutoCloseable接口实现自动关闭,在try()中 新增获取环境信息的工具方法,getJavaHomeDir,getUserHomeD ...
- Rust初步(四):在rust中处理时间
这个看起来是一个很小的问题,我们如果是在.NET里面的话,很简单地可以直接使用System.DateTime.Now获取到当前时间,还可以进行各种不同的计算或者输出.但是这样一个问题,在rust里面, ...
- android开发环境搭建(ubuntu15.04+jdk8+eclipse+android sdk)
开始学习android开发,首先对其环境对搭建比较重要.平台可以选择window/linux/mac等,这里,我选择ubuntu系统,方法比较原始,当然也可以直接用google提供的android s ...
随机推荐
- Redis入门很简单之三【常见参数配置】
Redis入门很简单之三[常见参数配置] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存中间件memcached Redis的一下常见设置都是通过对redis.conf ...
- java集合框架面试要点整理
- 数据访问层的基类BaseDALSQL
using System; using System.Text; using System.Collections; using System.Data; using System.Data.Comm ...
- mac下jmeter的安装
1.下载jmeter for jmeter 自行网络下载,也可以在我提供的网盘中下载 jmeter3.3链接:https://pan.baidu.com/s/1AVhZjKmN9s7AOxfyONeB ...
- mysql 日期和时间戳互换
1.日期转时间戳 UNIX_TIMESTAMP('2019-06-25 12:30:00') 2.时间戳转日期 FROM_UNIXTIME(1545711900,'%Y-%m-%d') 3. DAT ...
- leetcode.矩阵.73矩阵置零-Java
1. 具体题目 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: 输出:[ [ [1,1,1], [1,0,1], [ ...
- css3属性 -webkit-filter
css3属性 -webkit-filter -webkit-filter是css3的一个属性,Webkit率先支持了这几个功能,感觉效果很不错.下面咱们就学习一下filter这个属性吧. 现在规范中支 ...
- Python之实现一个优先级队列
问题 怎样实现一个按优先级排序的队列? 并且在这个队列上面每次 pop 操作总是返回优先级最高的那个元素 解决方案 下面的类利用 heapq 模块实现了一个简单的优先级队列: import heapq ...
- 查看linux防火墙的状态
如有需要可以加我Q群[308742428]大家一起讨论技术,有偿服务. 后面会不定时为大家更新文章,敬请期待. 喜欢的朋友可以关注下.iptables防火墙1.基本操作 # 查看防火墙状态 servi ...
- react 小技巧
1.当从redux里异步获取数据时,在render里渲染dom会出现数据还未获取到的情况,这时可以用 usableSchemas.data.vertexes && usableSche ...