网站首页 > java教程 正文
导述
Java 8 中引入了新的日期处理包 java.time. 日期相关:LocalDate 时间:LocalDateTime 时间戳:Instant 持续时间:Duration 时区控制:ZonedDateTime
这几个类以及可以实现所有日期相关的操作,而且还可以进行自定义操作。比如现在需要计算下个工作日的时间,应该如何进行处理呢?
日期类
在Java 8 中处理日期相关计算,使用LocalDate类。查看已有的实现是否满足需要呢?
LocalDate.now().with(TemporalAdjusters)
默认提供的实现方式中,不存在类似函数。但通过上图可以看出
ofDateAdjuster(UnaryOperator<LocalDate> dateBasedAdjuster)
其注释:Obtains a {@code TemporalAdjuster} that wraps a date adjuster(日期的调节器)
实现
DayOfWeek是一个枚举类,也是Java 8 新添加的类型。
通过上图中提供的函数类型:TemporalAdjusters.ofDateAdjust
er()自定义实现
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时间取整)
猜你喜欢
- 2024-11-09 关于Java的取时间方法的争论(java时间取整)
- 2024-11-09 详细解析如何计算两个日期之间的天数方法
- 2024-11-09 java8-新的日期API(java中如何实现日期类)
- 2024-11-09 Java修炼终极指南:70. 从给定季度中提取月份
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)