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 (应用程序属性)是和 ...
随机推荐
- Android Studio 之 导入Eclipse项目常见问题及解决方案
在将Eclipse做的Android项目成功导入Android Studio 后,启动生成,遇到一些问题,现总结如下: 问题1:图片命名问题 AS对图片命名要求比eclipse严格,图片名称只能有&q ...
- SQL Server还原数据库
http://www.cnblogs.com/ggll611928/p/6377545.html 恢复数据库: 1.分离数据库以断开当前的访问连接. 2.附加数据库mdf文件. 3.执行RESTORE ...
- CUPS/Printer sharing
https://wiki.archlinux.org/index.php/CUPS/Printer_sharing_(简体中文) GNU/Linux系统间共享 在作为打印服务器的GNU/Linux ...
- 【DB2】监控动态SQL语句
一.db2监控动态SQL(快照监控) db2示例用户登陆后,使用脚本语句db2 get snapshot for all on dbname>snap.out 也可以使用db2 get snap ...
- 使用MSTSC远程登录时提示证书无效的解决方法
On your local machine Open Windows command prompt type: gpedit.msc -> Press Enter -> a new win ...
- find -size 查出指定文件大小的命令
find -size n [c] 查找n值大小的文件,默认单位是块(1块=512字节) 1. 查找大于1500字节的文件 find ~ -size +1500c 2. 查找等于1500字节的文件 fi ...
- 转:ArcEngine10.0+VS2010+MFC 扫盲贴 .
项目用vc6.0+MapObject写的,现在却要升级成AE10,研究了好多天的AE10.0和c++,中间的曲折也不想多说了,废话少数,下面是实现ArcEngine基本功能的,仅供参考,如能帮到同仁们 ...
- 关于js中的回调函数callback
来源于:http://www.jianshu.com/p/6bc353e5f7a3 前言 其实我一直很困惑关于js 中的callback,困惑的原因是,学习中这块看的资料少,但是平时又经常见,偶尔复制 ...
- [转载]ubuntu防火墙设置
原文地址:ubuntu防火墙设置作者:風飏 自打2.4版本以后的Linux内核中, 提供了一个非常优秀的防火墙工具.这个工具可以对出入服务的网络数据进行分割.过滤.转发等等细微的控制,进而实现诸 ...
- Spring 多数据源事务配置问题
2009-12-22 在SpringSide 3 中,白衣提供的预先配置好的环境非常有利于用户进行快速开发,但是同时也会为扩展带来一些困难.最直接的例子就是关于在项目中使用多个数据源的问题,似乎 很难 ...