导述

Java 8 中引入了新的日期处理包 java.time. 日期相关:LocalDate 时间:LocalDateTime 时间戳:Instant 持续时间:Duration 时区控制:ZonedDateTime

这几个类以及可以实现所有日期相关的操作,而且还可以进行自定义操作。比如现在需要计算下个工作日的时间,应该如何进行处理呢?

日期类

在Java 8 中处理日期相关计算,使用LocalDate类。查看已有的实现是否满足需要呢?

LocalDate.now().with(TemporalAdjusters)

默认提供的实现方式中,不存在类似函数。但通过上图可以看出 ofDateAdjuster(UnaryOperator dateBasedAdjuster)其注释:Obtains a {@code TemporalAdjuster} that wraps a date adjuster(日期的调节器)

实现

DayOfWeek是一个枚举类,也是Java 8 新添加的类型。

通过上图中提供的函数类型:TemporalAdjusters.ofDateAdjuster()自定义实现

TemporalAdjuster nextWorkingDay = TemporalAdjusters.ofDateAdjuster(

temporal -> {

DayOfWeek dow =

DayOfWeek.of(temporal.get(ChronoField.DAY_OF_WEEK));

int dayToAdd = 1;

if (dow ==DayOfWeek.FRIDAY){

dayToAdd = 3;

}

if (dow ==DayOfWeek.SATURDAY){

dayToAdd = 2;

}

return temporal.plus(dayToAdd, ChronoUnit.DAYS);

});

//测试

LocalDate localDate = LocalDate.now().with(nextWorkingDay);

总结

由于Java8 中引入函数式编程,编程风格趋于简单化。新的日期处理方式拥有众多优良特性。建议尽快切换到新的日期处理。

java 自定义日期_java 8 自定义日期获取相关推荐

  1. java 日期_Java中的日期操作

    Date : getTime() .setTime() SimpleDateFormate :   Formate(Date). parse(String s) Calendar : getInsta ...

  2. java中输入日期_Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  3. java中转换日期_java中时间日期格式讲解和转换方法

    额,其实做项目一个无可避免的工具包就是时间日期格式的转换.因为时间久了所以自己也存了好多关于转换的方法之类的.但是有时候就会不满足需求,手写一时半会儿还写不出来(我不知道是不是我太菜了,知道某类大概有 ...

  4. java日期时间转日期_Java时间和日期指南

    java日期时间转日期 长期以来,正确处理日期,时间,时区,夏令时,and年等一直是我的烦恼. 本文并不是一个全面的指南时域,请参阅日期和时间在Java中 -更详细,但略有下降,ekhem,日期. 它 ...

  5. java 创建 时间_java创建Date日期时间笔记

    (1)public Date() 创建的日期类对象的日期时间被设置成创建时刻相对应的日期时间. 例: Java代码 1.Date today=new Date();  //today被设置成创建时刻相 ...

  6. java 公历 农历_Java给定公历日期计算相应农历/阴历日期

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  7. Java如何清除日期_Java中关于日期的处理方法

    (1)Date *  Date: *  介绍是java.util包下的Date类,这个类是负责描述日期这类数据的. *  Date主要是描述当前时间毫秒值对象. *  它中的很多方法不利于国际化,已经 ...

  8. java 计算 日期_java 计算某日期 多少天后的日期

    给你一段代码,你研究一下:import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Ca ...

  9. java字符串转日期_JAVA字符串转日期或日期转字符串

    文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: SimpleDateFormat sdf = ...

最新文章

  1. Kotlin 文档 .Google 正式确定将 Kotlin为android 开发语言
  2. Java反射-继承关系
  3. react-native无法在react-native-gesture-handler中解析符号android.support.v4.util.Pools解决方案...
  4. 【面向对象】第三单元总结——JML
  5. 优秀雇员必备六大关键技能(2)
  6. Aho-Corasick 多模式匹配算法(AC自动机)
  7. Android 自定义按钮button 加图片和两行文字
  8. 关于JAVA开发小游戏如何做读档和存档功能的这件事
  9. Flask 中 AssertionError: View function mapping is overwriting an existing endpoint function: decorate
  10. Codeforces 274E. Mirror Room-模拟+STL
  11. @Vaild失效处理
  12. FRED应用: LED混合准直透镜模拟
  13. Cocos2dx游戏教程(序):火爆抖音的网红口红机真能扎到口红吗?
  14. HDOJ - 2371 矩阵乘法
  15. 使用Python操作Excel图表之 为最后一个数据点添加数据标签
  16. puts()和gets()
  17. mysql安装流程以及各类问题解决
  18. day_02-个人博客系统
  19. 老婆问我Spring Boot怎么学
  20. 动漫图片接口整理和爬取

热门文章

  1. 单片机人体感应灯c语言,单片机光控人体感应灯案例.doc
  2. Linux进阶之综合练习
  3. Java开源网络服务器端组件
  4. vgh电压高了有什么_液晶屏VGH,VGL,VCOM电压值正常为多少-液晶屏vgh电压
  5. Weego工作室简介
  6. MATLAB变量和数据类型
  7. Linux C 进程间的IPC通信 之 共享内存(二)
  8. Vue中使用高德地图(vue-amap)的采坑记录小白入门
  9. 电阻精度等级及贴片电阻常识
  10. c#数字转换为大写汉字