1 importjava.time.Clock;2 importjava.time.Duration;3 importjava.time.Instant;4 importjava.time.LocalDate;5 importjava.time.LocalDateTime;6 importjava.time.LocalTime;7 importjava.time.Month;8 importjava.time.MonthDay;9 importjava.time.Year;10 importjava.time.YearMonth;11 /**
12 * systemUTC()方法返回当前时间使用UTC时区转换为日期和时间13 */
14 public classTimeClockTest {15 public static voidmain(String[] args) {16 //----下面是关于clock的用法----17 //获取当前clock
18 Clock clock=Clock.systemUTC();19 //通过Clock获取当前时刻
20 System.out.println("当前时刻为: "+clock.instant());21 //获取clock对应的毫秒数,与system.currentTimeMillis()输出相同
22 System.out.println(clock.millis());23 System.out.println(System.currentTimeMillis());24 //----下面是关于Duration的用法------
25 Duration dur=Duration.ofSeconds(6000);26 System.out.println("6000秒相当于: "+dur.toMinutes()+"分");27 System.out.println("6000秒相当于: "+dur.toMinutes()+"小时");28 System.out.println("6000秒相当于: "+dur.toDays()+"天");29 //在clock基础上增加6000秒,返回新的clock
30 Clock clock2=Clock.offset(clock, dur);31 //可以看到clock2与clock相差1小时40分
32 System.out.println("当前时刻加6000秒为: "+clock2.instant());33 //下面是instant的用法34 //获取当前时间
35 Instant instant=Instant.now();36 System.out.println(instant);37 //instant添加6000秒,返回新的Instant
38 Instant instant2=instant.plusSeconds(6000);39 System.out.println(instant2);40 //根据字符串解析Instant对象
41 Instant instant3=instant.parse("2018-12-08T11:57:43.054Z");42 System.out.println(instant3);43 //在instant3的基础上添加5小时4分钟
44 Instant instant4=instant3.plus(Duration.ofHours(5).plusMinutes(4));45 System.out.println(instant4);46 //获取instant4五天前的时刻
47 Instant instant5=instant4.minus(Duration.ofDays(5));48 System.out.println(instant5);49 //-----下面是关于LocalDate的用法-----
50 LocalDate localdate=LocalDate.now();51 System.out.println(localdate);52 //获得2018年的第345天
53 localdate=LocalDate.ofYearDay(2018, 345);54 System.out.println(localdate);55 //设置为2018年12月31日
56 localdate=LocalDate.of(2018, Month.DECEMBER, 31);57 System.out.println(localdate);58 //---下面是关于LocalTime---的用法59 //获取当前时间
60 LocalTime localtime=LocalTime.now();61 System.out.println(localtime);62 //设置为22点33分
63 localtime=LocalTime.of(22, 33);64 System.out.println(localtime);65 //返回一天中的第5503秒
66 localtime=LocalTime.ofSecondOfDay(5503);67 System.out.println(localtime);68 //---下面是关于localDateTime的用法69 //获取当前时间
70 LocalDateTime localdatetime=LocalDateTime.now();71 System.out.println(localdatetime);72 //当前日期,时间加上25小时3分钟
73 LocalDateTime future=localdatetime.plusHours(25).plusMinutes(3);74 System.out.println(future);75 //---下面是关于year,yearMonth,MonthDay的用法示例---
76 Year year=Year.now();//获取当前的年份
77 System.out.println("当前年份: "+year);//输出当前年份
78 year=year.plusYears(5); //当前年份再加5
79 System.out.println("当前年份再过5年: "+year);80 //根据指定月份获取yearsMonth
81 YearMonth ym=year.atMonth(10);82 System.out.println("year年10月: "+ym);83 //当前年月再加5年.减三个月
84 ym=ym.plusYears(5).minusMonths(3);85 System.out.println("year年10月再加5年,减3个月: "+ym);86 MonthDay md=MonthDay.now();87 System.out.println("当前月日: "+md);88 //设置为5月23日
89 MonthDay md2=md.with(Month.MAY).withDayOfMonth(23);90 System.out.println("5月23日为: "+md2);91 }92 }