复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61import 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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复