java8 新时间API用法实例(LocalDate、LocalTime、LocalDateTime)
来源:互联网 发布:mac如何删除软件 编辑:程序博客网 时间:2024/06/08 04:56
java8 新时间API用法实例(LocalDate、LocalTime、LocalDateTime)
java8之前,Date类都是可变的。在多线程环境下使用它,开发人员需考虑Date对象的线程安全。Java8新的处理时间的 API提供了线程安全的不可变类,开发人员不需要再考虑并发所带来的安全问题。
下面是一些新API的经常用到的方法,当然还有很多也常用,这里就不一一列出,有兴趣的可以看看源码,一下代码如有不正确的还望不吝赐教。
下面的例子主要从以下几个类演示用法:
LocalDate、LocalTime、LocalDateTime、DateTimeFormatter
个人体验新的时间API类比以前好用多了,谁用谁知道,尤其在时间的计算方面,灵活、简单、方便。
格式器说明 * All letters 'A' to 'Z' and 'a' to 'z' are reserved as pattern letters. The following pattern letters are defined: * <p> * Symbol Meaning Presentation Examples * ------ ------- ------------ ------- * G era text AD; Anno Domini; A * u year year 2004; 04 * y year-of-era year 2004; 04 * D day-of-year number 189 * M/L month-of-year number/text 7; 07; Jul; July; J * d day-of-month number 10 * <p> * Q/q quarter-of-year number/text 3; 03; Q3; 3rd quarter * Y week-based-year year 1996; 96 * w week-of-week-based-year number 27 * W week-of-month number 4 * E day-of-week text Tue; Tuesday; T * e/c localized day-of-week number/text 2; 02; Tue; Tuesday; T * F week-of-month number 3 * <p> * a am-pm-of-day text PM * h clock-hour-of-am-pm (1-12) number 12 * K hour-of-am-pm (0-11) number 0 * k clock-hour-of-am-pm (1-24) number 0 * <p> * H hour-of-day (0-23) number 0 * m minute-of-hour number 30 * s second-of-minute number 55 * S fraction-of-second fraction 978 * A milli-of-day number 1234 * n nano-of-second number 987654321 * N nano-of-day number 1234000000 * <p> * V time-zone ID zone-id America/Los_Angeles; Z; -08:30 * z time-zone name zone-name Pacific Standard Time; PST * O localized zone-offset offset-O GMT+8; GMT+08:00; UTC-08:00; * X zone-offset 'Z' for zero offset-X Z; -08; -0830; -08:30; -083015; -08:30:15; * x zone-offset offset-x +0000; -08; -0830; -08:30; -083015; -08:30:15; * Z zone-offset offset-Z +0000; -0800; -08:00; * <p> * p pad next pad modifier 1 * <p> * ' escape for text delimiter * '' single quote literal ' * [ optional section start * ] optional section end * # reserved for future use * { reserved for future use * } reserved for future use */ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; /** * Created by LHL on 2016/11/22. */ public class Demo01 { public static void main(String[] args) { LocalDateTime localDateTime = LocalDateTime.now(); System.out.println("系统当前日期+时间:" + localDateTime); LocalDate localDate = LocalDate.now(); System.out.println("系统当期日期:" + localDate); LocalTime localTime = LocalTime.now(); System.out.println("系统当前时间:" + localTime); System.out.println("系统当前时间,去除毫秒:" + localTime.withNano(0));//0 为去除毫秒 System.out.println("指定年、月、日、时、分、秒:" + LocalDateTime.of(2016, 11, 23, 9, 07, 59));//返回一个指定年、月、日、时、分、秒的时间,不可变 System.out.println("指定年数的时间:" + localDateTime.withDayOfYear(1));//返回一个指定“一年中的天数,the day-of-year ”的时间,不可变 System.out.println("指定天数的时间:" + localDateTime.withDayOfMonth(1));//返回一个指定“一月中的天数,day-of-month ”的时间,不可变 System.out.println("指定小时数的时间:" + localTime.withHour(1));//返回一个指定“一天中的小时数,the hour-of-day ”的时间,不可变 System.out.println("指定分钟数的时间:" + localTime.withMinute(1));//返回一个指定“一小时的分钟数,the minute-of-hour ”的时间,不可变 System.out.println("指定秒数的时间:" + localTime.withSecond(1));//返回一个指定“一分钟的秒数,the second-of-minute ”的时间,不可变 System.out.println("the hour-of-day, from 0 to 23:" + localTime.getHour());//取得一天中的小时数 System.out.println("minute-of-hour, from 0 to 59:" + localTime.getMinute());//取得一小时中的分钟数 System.out.println("the second-of-minute, from 0 to 59:" + localTime.getSecond());//取的一分钟的秒数 System.out.println("the nano-of-second, from 0 to 999,999,999:" + localTime.getNano());//取得一秒钟的纳秒数 //日期运算 System.out.println("系统当前时间减去1年:" + (localDate.minusYears(1))); //看看闰年和平年的区别 LocalDateTime localDateTime1 = LocalDateTime.of(2016, 02, 29, 00, 00, 00); System.out.println("闰年减去一年:" + localDateTime1.minusYears(1));//减去一年后是平年,注意结果 System.out.println("系统当前时间减去1天:" + (localDate.minusDays(1))); System.out.println("系统当前时间减去23天:" + (localDate.minusDays(23))); System.out.println("系统当前时间加上1年:" + (localDate.plusYears(1))); System.out.println("系统当前时间加上1天:" + (localDate.plusDays(1))); System.out.println("系统当前时间加上1分钟:" + (localDateTime.plusMinutes(1))); System.out.println("系统当前时间加上1纳秒:" + (localDateTime.plusNanos(1))); System.out.println("系统当前时间加上1周:" + (localDateTime.plusWeeks(1))); System.out.println("localDateTime 转 localDate:" + localDateTime.toLocalDate()); System.out.println("localDateTime 转 localTime:" + localDateTime.toLocalTime()); //格式器 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss"); System.out.println(LocalDateTime.parse("20111123 00:00:00", dateTimeFormatter)); System.out.println(LocalDateTime.MIN);//支持的最小时间 System.out.println(LocalDateTime.MAX);//支持的最大时间 }}
0 0
- java8 新时间API用法实例(LocalDate、LocalTime、LocalDateTime)
- LocalDate、LocalTime、LocalDateTime
- java8 Date,Timestamp,LocalDate,LocalTime,LocalDateTime,Instant互转
- java8 LocalDate LocalDateTime等时间类介绍
- jdk1.8 日期新API LocalDateTime,LocalDate,LocalTime 在Hibernate中无法反序列化解决方法
- jdk1.8 日期新API LocalDateTime,LocalDate,LocalTime 在Hibernate中无法反序列化解决方法
- LocalDate LocalTime java8新的时间日期库及使用示例
- Java8 LocalDate/LocalDateTime常用方法
- Date与LocalDateTime、LocalDate、LocalTime互转
- Date与LocalDate,LocalDateTime,LocalTime的转换
- LocalDate, LocalTime, LocalDateTime, and Instant表示时间点的日期-时间类的通用方法
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- XML的三种解析方式
- 如何让js弹出新窗口不被拦截
- 第1章 BashShell命令------------(tail、head)
- Spring+SpringMVC+Mybatis整合
- libsvm svm-train的各个参数及其公式
- java8 新时间API用法实例(LocalDate、LocalTime、LocalDateTime)
- 散列表的基本原理与实现
- IE“浏览器模式”和“文档模式”的渲染测试
- log4j 2.x读取配置文件以及使用
- 解决:plsql连接远程oracle和like无法查询中文问题
- [Unity]一些总结
- 光的颜色
- git 修改提交邮箱以及用户名
- Android wifi 外网ip 完善代码,保证http和手机都能获取到