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 (应用程序属性)是和 ...
随机推荐
- 两个自定义对象List列表取交集(intersection)
public static void main(String[] args) { List<Fpxx> list = ListUtils.intersection(getFpList1() ...
- canvas绘制图片
canvas保存为data:image扩展功能的实现 [已知]canvas提供了toDataURL的接口,可以方便的将canvas画布转化成base64编码的image.目前支持的最好的是png格式, ...
- Spring的PropertyPlaceholderConfigurer事例应用
在开发的过程中,经常发现一些类似:${log4j.level}之类的内容,后来才知道原因.下面解释一下: 1.PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现 ...
- python乱码问题之爬虫篇
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 167: illegal multibyte sequence 使 ...
- ES6学习笔记七:生成器与异步操作
一:Generator Generator 函数是一个普通函数,但是有两个特征.一是,function关键字与函数名之间有一个星号:二是,函数体内部使用yield表达式,输出不同的内部状态. 执行 G ...
- kettle 如何将excel文件导入oracle数据库?
1.情景展示 昨日,有一批数据需要导入数据库,但是,plsql不知为何不能导了,于是,我选择使用kettle完成excel数据的导入. 2.准备工作 将对应的数据库所需的jar包拷贝至其lib目录 ...
- soapui not supported the auto complete
http://forum.soapui.org/viewtopic.php?t=19850 syntax highlighting or content assist inside soapUI? t ...
- svn 命令行下常用的几个命令
1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domai ...
- 在大负载中使用LoadRunner进行负载测试()
在大负载中使用LoadRunner进行负载测试,需要配置一些环境来满足大负载下各种资源的充足: 1.为了避免出现“No Buffer Space Available”的错误,需要进行如下配置: 1)修 ...
- Arduino和C51开发DHT11温湿度传感器
技术:51单片机.Arduino.DHT11.温湿度传感器.传感器 概述 学习单片机离不开对传感器的学习,本文主要介绍DHT11温湿度传感器的使用方法,同学也可以了解更多的传感器,这对你以后开发产 ...