Java 8新增日期时间新成员
来源:互联网 发布:linux添加永久默认路由 编辑:程序博客网 时间:2024/05/16 07:07
Java 8的java.time包
Java 8专门新增了一个java.time包,该包下包含了如下常用的类:Clock、Duration、LocalDate、LocalTime、LocalDateTime、MonthDay、Year、YearMonth、DayOfWeek、Month。
代码示例
import java.time.*;public class NewDatePackageTest{public static void main(String[] args){// -----下面是关于Clock的用法-----// 获取当前ClockClock clock = Clock.systemUTC();// 通过Clock获取当前时刻System.out.println("当前时刻为:" + clock.instant());// 获取clock对应的毫秒数,与System.currentTimeMillis()输出相同System.out.println(clock.millis());System.out.println(System.currentTimeMillis());// -----下面是关于Duration的用法-----Duration d = Duration.ofSeconds(6000);System.out.println("6000秒相当于" + d.toMinutes() + "分");System.out.println("6000秒相当于" + d.toHours() + "小时");System.out.println("6000秒相当于" + d.toDays() + "天");// 在clock基础上增加6000秒,返回新的ClockClock clock2 = Clock.offset(clock, d);// 可看到clock2与clock1相差1小时40分System.out.println("当前时刻加6000秒为:" +clock2.instant());// -----下面是关于Instant的用法-----// 获取当前时间Instant instant = Instant.now();System.out.println(instant);// instant添加6000秒(即100分钟),返回新的InstantInstant instant2 = instant.plusSeconds(6000);System.out.println(instant2);// 根据字符串中解析Instant对象Instant instant3 = Instant.parse("2014-02-23T10:12:35.342Z");System.out.println(instant3);// 在instant3的基础上添加5小时4分钟Instant instant4 = instant3.plus(Duration.ofHours(5).plusMinutes(4));System.out.println(instant4);// 获取instant4的5天以前的时刻Instant instant5 = instant4.minus(Duration.ofDays(5));System.out.println(instant5);// -----下面是关于LocalDate的用法-----LocalDate localDate = LocalDate.now();System.out.println(localDate);// 获得2014年的第146天localDate = LocalDate.ofYearDay(2014, 146);System.out.println(localDate); // 2014-05-26// 设置为2014年5月21日localDate = LocalDate.of(2014, Month.MAY, 21);System.out.println(localDate); // 2014-05-21// -----下面是关于LocalTime的用法-----// 获取当前时间LocalTime localTime = LocalTime.now();// 设置为22点33分localTime = LocalTime.of(22, 33);System.out.println(localTime); // 22:33// 返回一天中的第5503秒localTime = LocalTime.ofSecondOfDay(5503);System.out.println(localTime); // 01:31:43// -----下面是关于localDateTime的用法-----// 获取当前日期、时间LocalDateTime localDateTime = LocalDateTime.now();// 当前日期、时间加上25小时3分钟LocalDateTime future = localDateTime.plusHours(25).plusMinutes(3);System.out.println("当前日期、时间的25小时3分之后:" + future);// 下面是关于Year、YearMonth、MonthDay的用法示例-----Year year = Year.now(); // 获取当前的年份System.out.println("当前年份:" + year); // 输出当前年份year = year.plusYears(5); // 当前年份再加5年System.out.println("当前年份再过5年:" + year);// 根据指定月份获取YearMonthYearMonth ym = year.atMonth(10);System.out.println("year年10月:" + ym); // 输出XXXX-10,XXXX代表当前年份// 当前年月再加5年,减3个月ym = ym.plusYears(5).minusMonths(3);System.out.println("year年10月再加5年、减3个月:" + ym);MonthDay md = MonthDay.now();System.out.println("当前月日:" + md); // 输出--XX-XX,代表几月几日// 设置为5月23日MonthDay md2 = md.with(Month.MAY).withDayOfMonth(23);System.out.println("5月23日为:" + md2); // 输出--05-23}}
运行结果
E:\test\Java\First2\test\src>java NewDatePackageTest
当前时刻为:2016-09-02T10:35:01.147Z
1472812502102
1472812502103
6000秒相当于100分
6000秒相当于1小时
6000秒相当于0天
当前时刻加6000秒为:2016-09-02T12:15:02.113Z
2016-09-02T10:35:02.115Z
2016-09-02T12:15:02.115Z
2014-02-23T10:12:35.342Z
2014-02-23T15:16:35.342Z
2014-02-18T15:16:35.342Z
2016-09-02
2014-05-26
2014-05-21
22:33
01:31:43
当前日期、时间的25小时3分之后:2016-09-03T19:38:02.335
当前年份:2016
当前年份再过5年:2021
year年10月:2021-10
year年10月再加5年、减3个月:2026-07
当前月日:--09-02
5月23日为:--05-23
代码说明
该代码就是这些常见类的用法举例,这些API和他们的用法都比较简单,程序的注释也很清楚,希望对大家有所帮助。
0 0
- Java 8新增日期时间新成员
- Java 8新增的日期、时间格式器
- Java 8新增的日期、时间格式器
- Java 8 的日期时间新用法
- Java 8新的时间日期库
- Java 8新特性之新的时间日期API
- Java 8新的日期与时间API
- JAVA 8 新日期和时间API 学习总结
- Java 8新特性 全新的日期时间API
- W3Cschool Java 8新特性----> 日期时间 API
- Java新的时间日期类
- Java 8 新特性(三)新的日期时间类
- Java 8 新特性:Java 类库的新特性之日期时间API (Date/Time API )
- 调查圈新增日期与时间题型
- Java8新增的日期,时间包
- Java 8新特性探究(七)深入解析日期和时间-JSR310
- Java 8新的时间日期库的20个使用示例
- Java 8新的时间日期库的20个使用示例
- 少用Data类
- windbg调试之死锁
- Calendar类的典型应用
- 枚举类型enum
- 解决listView嵌套CheckBox的选中错乱
- Java 8新增日期时间新成员
- 当前项目登录掉线之后重新进入到最后访问页面的方法
- Java正则表达式基础
- iOS开发过程中 const 与 static 的使用
- 多线程 AfxBeginThread 与 CreateThread 的区别
- JAVA三大框架的作用
- 读取HDFS写入HBase
- Ubuntu 安装opencv3.0和Kdevelop
- 正则表达式的应用