对当前时间格式化:
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处理时间的更多相关文章

  1. java JDK8 学习笔记——第13章 时间与日期

    第十三章 时间与日期 13.1 认识时间与日期 13.1.1 时间的度量 1.格林威治标准时间GMT 格林威治标准时间的正午是太阳抵达天空最高点之时.现在已经不作为标准时间使用. 2.世界时UT世界时 ...

  2. JDK8新垃圾回收机制--G1垃圾回收机制

    G1全称是Garbage First Garbage Collector,使用G1的目的是简化性能优化的复杂性.例如,G1的主要输入参数是初始化和最大Java堆大小.最大GC中断时间. G1 GC由Y ...

  3. 基于jdk8的格式化时间方法

    背景 jdk8之前,java使用Date表示时间,在做时间的格式化时,通常使用SimpleDateFormat,但是SimpleDateFormat是非线程安全的,在写代码时通常要将之定义为局部变量或 ...

  4. 详解 JDK8 新增的日期时间类

    JDK8 新增的日期时间类 在本人之前的博文<处理时间的类 -- System类.Date类 .SimpleDateFormat类 与 Calendar类>中,讲到过表示时间的类,有三类: ...

  5. JDK8 日期格式化

    SpringBoot 是为了简化 Spring 应用的创建.运行.调试.部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖 ...

  6. Day029 JDK8中新日期和时间API (二)

    # JDK8中新日期和时间API (二) Instant介绍 Instant:时间线上的一个瞬时点. 这可能被用来记录应用程序中的事件时间 戳. 在处理时间和日期的时候,我们通常会想到年,月,日,时, ...

  7. JDK7和JDK8一些重要新特性

    jdk7新特性(部分) switch支持字符串 List AutoCloseable接口实现自动关闭,在try()中 新增获取环境信息的工具方法,getJavaHomeDir,getUserHomeD ...

  8. Rust初步(四):在rust中处理时间

    这个看起来是一个很小的问题,我们如果是在.NET里面的话,很简单地可以直接使用System.DateTime.Now获取到当前时间,还可以进行各种不同的计算或者输出.但是这样一个问题,在rust里面, ...

  9. android开发环境搭建(ubuntu15.04+jdk8+eclipse+android sdk)

    开始学习android开发,首先对其环境对搭建比较重要.平台可以选择window/linux/mac等,这里,我选择ubuntu系统,方法比较原始,当然也可以直接用google提供的android s ...

随机推荐

  1. Angular 2 技能图谱skill-map

    # Angular 2 技能图谱 ## 模块 ### 自定义模块 - 根模块 - 特性模块 - 共享模块 - 核心模块 ### 内置模块 - ApplicationModule 模块 - Common ...

  2. php对接极光推送

    首先要明白php对接极光推送要做些什么,极光推送的大致流程是:你的服务器----->极光服务器------>app端.而php要做的就只有我们的服务器到极光服务器这个过程.极光服务器到ap ...

  3. PHP-版本问题

    PHP 5.3 以下版本 无法用下标直接取得函数返回的数组 eg: $val_0 = explode(',', $val)[0]//报错 #要改成: $exploded_val = explode(' ...

  4. mybatis的sqlprovider用法扩展自定义sql

    SqlProvider使用 public class MemberRewardSqlProvider { private static final Logger log = LoggerFactory ...

  5. python3中浮点数相减问题(大部分时候只需要关注整数的二进制形式就行了)

    首先直接上判断方法:一切判断直接将整数部分装化成二进制,如果位数相等则相减后的值是等于的,如果不相等,相减大的结果一定不等于你要比较的结果. 如66.6-60.6==6.0的情况,66.6的二进制:1 ...

  6. Excel_PoweQuery——条件计数、条件求和

    岁月不居,时节如流. 时光荏苒,岁月如梭. 前面两段充分体现了博主深厚的文学素养,别和博主争,博主说啥就是啥. 其实,对于大量数据的处理,这几年微软Office做的不单单是2007的时候把Excel的 ...

  7. CSS | 字体系列

    CSS字体处理中最复杂的部分是字体系列(font-family)匹配和字体加粗(font-weight)匹配,其次是字体大小(font-size)的计算. 一. 字体系列 相同的字体可能有很多不同的称 ...

  8. springboot集成redis报错-ClassNotFoundException: org.apache.commons.pool2.impl.GenericObjectPoolConfig

    当使用Springboot 2.0以上版本集成redis的时候遇到报错信息如下: Application run failed org.springframework.beans.factory.Un ...

  9. 神奇的Android Studio Template(转)

    转自:http://blog.csdn.net/lmj623565791/article/details/51592043 本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台 ...

  10. Java中有几种类型的流?

    (1)字节流 InputStream/OutputStream ①FileInputStream/FileOutputStream:文件字节流,用于文件的读写操作 ②BufferedInputStre ...