概述
import org.junit.Assert;
import org.junit.Test;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Period;
import java.time.temporal.ChronoField;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
public class DateTimeTest {
/**
* of:静态工厂方法。
* parse:静态工厂方法,关注于解析。
* get:获取某些东西的值。
* is:检查某些东西的是否是true。
* with:不可变的setter等价物。
* plus:加一些量到某个对象。
* minus:从某个对象减去一些量。
* to:转换到另一个类型。
* at:把这个对象与另一个对象组合起来,例如:date.atTime(time)。
*/
@Test
public void testLocalDate() {
// 实例化时间
LocalDate localDate = LocalDate.of(2018, 11, 30);
Assert.assertFalse(localDate.isLeapYear());
// 获得天、星期
// 月也可通过这种方式获得
LocalDate.now().getDayOfMonth();
LocalDate.now().getDayOfWeek().getLong(ChronoField.DAY_OF_WEEK);
// 获得当前月 月初,月末时间
localDate = LocalDate.now().with(TemporalAdjusters.lastDayOfMonth());
LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()).getMonth().getLong(ChronoField.MONTH_OF_YEAR);
// 看下月末是如何处理跨界的
// 同时也是调整 月份
System.out.println(localDate.withMonth(2));
// 获得当日开始 当日结束
LocalDateTime localDate2 = LocalDateTime.now().with(ChronoField.SECOND_OF_DAY, 0);
System.out.println(localDate2.minus(1, ChronoUnit.SECONDS));
// 获得昨日时间
// 获得上月时间也是一样的操作
System.out.println(LocalDateTime.now().minus(Period.ofDays(1)));
// 前一个小时
System.out.println(LocalDateTime.now().minus(Duration.ofHours(1)));
}
}
最后
以上就是无心黑猫为你收集整理的Java8 新时间API使用示例的全部内容,希望文章能够帮你解决Java8 新时间API使用示例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复