Java 8 – TemporalAdjusters examples
1. TemporalAdjusters
Example to move a date to firstDayOfMonth, firstDayOfNextMonth, next Monday and etc.
package com.mkyong.time;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
public class TestDate {
public static void main(String[] args) {
LocalDate localDate = LocalDate.now();
System.out.println("current date : " + localDate);
LocalDate with = localDate.with(TemporalAdjusters.firstDayOfMonth());
System.out.println("firstDayOfMonth : " + with);
LocalDate with1 = localDate.with(TemporalAdjusters.lastDayOfMonth());
System.out.println("lastDayOfMonth : " + with1);
LocalDate with2 = localDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
System.out.println("next monday : " + with2);
LocalDate with3 = localDate.with(TemporalAdjusters.firstDayOfNextMonth());
System.out.println("firstDayOfNextMonth : " + with3);
}
}
Output
current date : 2016-11-15
firstDayOfMonth : 2016-11-01
lastDayOfMonth : 2016-11-30
next monday : 2016-11-21
firstDayOfNextMonth : 2016-12-01
Please check this official TemporalAdjusters JavaDoc for the entire list of the predefined TemporalAdjusters.
2. Custom TemporalAdjuster
Example to implement TemporalAdjuster
to move a date to next Christmas.
package com.mkyong.time;
import java.time.temporal.ChronoField;
import java.time.temporal.Temporal;
import java.time.temporal.TemporalAdjuster;
public class NextChristmas implements TemporalAdjuster {
@Override
public Temporal adjustInto(Temporal temporal) {
return temporal.with(ChronoField.MONTH_OF_YEAR, 12).with(ChronoField.DAY_OF_MONTH, 25);
}
}
package com.mkyong.time;
import java.time.LocalDate;
public class TestDate {
public static void main(String[] args) {
LocalDate localDate = LocalDate.now();
System.out.println("current date : " + localDate);
localDate = localDate.with(new NextChristmas());
System.out.println("Next Christmas : " + localDate);
}
}
Output
current date : 2016-11-15
Next Christmas : 2016-12-25
Alternatively, you can use the following lambda expression :
localDate = localDate.with(
temporal -> temporal.with(ChronoField.MONTH_OF_YEAR, 12).with(ChronoField.DAY_OF_MONTH, 25)
);
http://www.mkyong.com/java8/java-8-temporaladjusters-examples/
Java 8 – TemporalAdjusters examples的更多相关文章
- Java 8 – MinguoDate examples
1. LocalDate -> MinguoDate Review a full example to convert a LocalDate to MinguoDate TestMinguoD ...
- Java 8 forEach examples遍历例子
1. forEach and Map 1.1 Normal way to loop a Map. Map<String, Integer> items = new HashMap<& ...
- Android中使用java.util.Properties犯的错
今天尝试使用java.util.Properties来保存应用配置,然而遇到了好几个问题,对于熟悉此内容的来说可能都是猪一样的错误,但难免有像我一样的新手再次遇到,希望此文能有所帮助. 错误1 jav ...
- 无IDE时编译和运行Java
最近 Java subreddit 出现了一篇”在没有IDE的情况下编译Java包” 的帖子,这个帖子抛出了这么一个问题,“是否存在一个命令可以编译一组处于同一文件夹下独立包内的java文件的方法(这 ...
- [转]无IDE时编译和运行Java
本文由 ImportNew - Grey 翻译自 dzone.欢迎加入Java小组.转载请参见文章末尾的要求. 最近 Java subreddit 出现了一篇”在没有IDE的情况下编译Java包” 的 ...
- Core Java Volume I — 4.7. Packages
4.7. PackagesJava allows you to group classes in a collection called a package. Packages are conveni ...
- gRPC java 客户端,服务器端通讯使用json格式
使用 protobuf 作为通讯内容序列化的简单例子请看:http://www.cnblogs.com/ghj1976/p/5458176.html . 本文是使用 json 做为内容序列化的简单例子 ...
- 【转】O'Reilly Java系列书籍建议阅读顺序(转自蔡学庸)
Learning Java the O'Reilly's Way (Part I) Java 技术可以说是越来越重要了,不但可以用在计算机上,甚至连电视等家电用品,行动电话.个人数字助理(PDA)等电 ...
- 《Velocity java开发指南》中文版(下)转载
文章出自:http://sakyone.iteye.com/blog/524292 8.Application Attributes Application Attributes (应用程序属性)是和 ...
随机推荐
- everything排除指定目录和文件
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- ldd 以及 ld-linux.so.2
最近跟编译工具干上了,可能是问题积累集中爆发的结果. 今天对 ld-linux.so.x 有很大兴趣,想对它多些了解,遂百度之.发现了指令 ldd. 关于 ldd 其实 ldd 是一个脚本,并不是一个 ...
- oracle 12c 官方文档 及软件下载
oracle 12c 官方文档 http://www.oracle.com/pls/db121/homepage oracle 12c 软件下载 http://www.oracle.com/techn ...
- PCI(Payment Card Industry)合规
PCI-DSS(Payment Card Industry-Data Security Standard) 1.构建并维护安全的网络 2.保护持卡人数据 3.维护漏洞管理程序 4.执行严格的访问控制 ...
- java与C#、.NET AES加密、解密 解决方案
1.情景展示 Java提供的密钥,C#无法解密. 2.原因分析 在Java中,AES的实际密钥需要用到KeyGenerator 和 SecureRandom,但是C#和.NET 里面没有这2个类, ...
- oracle批量更新之使用游标进行分批次更新的5种方式及速度比对
1.情景展示 一共有22w条数据, 需要将A表的主键更新至B表的指定字段,如何快速完成更新? 2.解决方案 声明: 解决方案不只一种,该文章只介绍快速游标法及代码实现: 两张表的ID和ID_CAR ...
- Arduino——My-Clock项目 发布时间:2018-12-31
技术:Arduino.光敏传感器.DHT11.DS1302.OLED显示屏 概述 项目My-Clock是一个环境监测时钟,接入光敏传感器和温湿度传感器监测环境信息,加入DS1302模块用于获取时间 ...
- Oracle的关于小数的使用
整理了部分Oracle的关于小数的使用方法,如下 --round(x,[y]) 舍入到小数点右边y位的x值 ) from dual; --1.235 --trunc(x,[y])返回截尾到y位小数的x ...
- 自定义UITabbarcontrollerview
// 初始化contentView [self initContentView]; #pragma mark 初始化contentView - (void)initContentView { CGSi ...