JAVA 8 主要新特性 ----------------(七)新时间日期 API -----LocalDate
一、改版原因
1、老板的Date和Calander存在问题,日期操作名称混乱,有的在text下,有的在util下,包名混乱
2、Simple包混乱,致命错误线程不安全。
3、1.8规范的放在java.time目录下
二、1.8日期使用简介
1、使用 LocalDate、LocalTime、LocalDateTime
LocalDate、LocalTime、LocalDateTime 类的实 例是不可变的对象,分别表示使用 ISO-8601日 历系统的日期、时间、日期和时间。它们提供了简单的日期或时间,并不包含当前的时间信息。也不包含与时区相关的信息。
2、LocalDateJDK文档介绍

文本加代码

LocalDate localDateMin = LocalDate.MIN;
System.out.println("localDateMin年的最小取值范围 :\n" + localDateMin); LocalDate localDateText = LocalDate.parse("2018-12-05");
System.out.println("localDateText输出字符串日期 :\n" + localDateText);

LocalDate localDate = LocalDate.now();
System.out.println("localDate获取当前yyyy-mm-dd :\n" + localDate);
LocalDate localDateSystem = LocalDate.now(ZoneId.systemDefault());
System.out.println("当前系统默认时间:\n" + localDateSystem);
LocalDate localDateChinese = LocalDate.now(ZoneId.of("GMT+8", new HashMap<>(64)));
System.out.println("获取某个时区的国家当前日期:\n" + localDateChinese);

Clock clock = Clock.systemDefaultZone();
LocalDate localDateClock = LocalDate.now(clock);
System.out.println("localDateClock使用默认时区转换为日期和时间yyyy-mm-dd:\n" + localDateClock);
now 的方法
下周一的日期
LocalDate nextMonday = LocalDate.now().with(TemporalAdjusters.next(DayOfWeek.MONDAY));
System.out.println("nextMonday下周一的日期 :\n" + nextMonday);
获取当前是年月情况
LocalDate localDateGet = LocalDate.now();
System.out.println("localDateGet获取当前是一年的第几天 :\n" + localDateGet.getDayOfYear());
System.out.println("localDateGet获取当前是本月的第几天 :\n" + localDateGet.getDayOfMonth());
System.out.println("localDateGet获取当前星期几 :\n" + localDateGet.getDayOfWeek());
System.out.println("localDateGet获取当前年 :\n" + localDateGet.getYear());
System.out.println("localDateGet获取当前月 :\n" + localDateGet.getMonth());

LocalDate localDateOf = LocalDate.of(2018, 12, 30);
System.out.println("localDateOf获取设置的yyyy-mm-dd:\n" + localDateOf);
LocalDate localDateOfYearDay = LocalDate.ofYearDay(2018, 352);
System.out.println("localDateOfYearDay获取一年的第352天是哪月哪日的yyyy-mm-dd:\n" + localDateOfYearDay);

LocalDate dateFromBase = LocalDate.ofEpochDay(365);
System.out.println("1970年的365天后是:\n" + dateFromBase);

LocalDate localDateFormatNow = LocalDate.from(ZonedDateTime.now());
System.out.println("当前日期是:\n" + localDateFormatNow);

LocalDate localDateText = LocalDate.parse("2018-12-05");
System.out.println("localDateText输出字符串日期 :\n" + localDateText);
LocalDate localDateFormat = LocalDate.parse("20181223", DateTimeFormatter.BASIC_ISO_DATE);
System.out.println("localDateFormat格式化日期 :\n" + localDateFormat);
git地址:点击这里
目前总结这些,以后使用到还会补充,希望对于大家有帮助,如果有疑问请留下您的问题,大家一起共同讨论
JAVA 8 主要新特性 ----------------(七)新时间日期 API -----LocalDate的更多相关文章
- Java8新特性之一、时间日期API
package com.effective.common.base.date; import java.time.Instant; import java.time.LocalDate; import ...
- JAVA 8 主要新特性 ----------------(七)新时间日期 API ----- Duration “时间”间隔
Duration:用于计算两个“时间”间隔 简介: 用法: 1.Zero常量 实例: Duration duration = Duration.ZERO; System.out.println(&qu ...
- JAVA 8 主要新特性 ----------------(七)新时间日期 API -----LocalDateTime
一.LocalDateTime简介 二.实战讲解 LocalDateTime localDateMax = LocalDateTime.MAX; System.out.println("lo ...
- JAVA 8 主要新特性 ----------------(七)新时间日期 API -----Instant 时间戳
一.简介 用于“时间戳”的运算.它是以Unix元年(传统 的设定为UTC时区1970年1月1日午夜时分)开始 所经历的描述进行运算 二.文档介绍 1.now Instant instantNow = ...
- Java8新特性(三)——Optional类、接口方法与新时间日期API
一.Optional容器类 这是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象. 查看结构图可以看到有如下常用方法: of(T)—— ...
- Java 8 新的时间日期 API
1. 概述 1.1 简介 Java 8 引入了一套全新的时间日期API,操作起来更简便.简单介绍下,LocalDate和LocalTime和LocalDateTime的使用: java.util.Da ...
- java8新特性——时间日期API
传统的时间 API 存在线程安全的问题,在多线程开发中必须要上锁,所以 java8 现在为我们提供了一套全新的时间日期 API ,今天进来学习一下java8 的时间日期 API. 一.使用 Local ...
- JAVA8学习——新的时间日期API&Java8总结
JAVA8-时间日期API java8之前用过的时间日期类. Date Calendar SimpleDateFormat 有很多致命的问题. 1.没有时区概念 2.计算麻烦,实现困难 3.类是可变的 ...
- 返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作
原文:返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, ...
随机推荐
- RFCN配置参数
最近一直被人问这个,索性画张图,省得一遍一遍解释.
- 使用拦截器对前端传入的字符串进行trim操作
@Before("apiItf()") public void before(JoinPoint joinPoint) throws Exception { Object[] ar ...
- for循环 && for-each
Effective Java 第46条for-each循环优先于传统for循环 问题: 使用for循环来遍历集合或者是数组可以借助迭代器和索引变量.但是,如果出现循环嵌套的时候很容易引起混乱. 例如: ...
- 【JAVA】JAVAで各DBに接続する方法(JDBC)の纏め(未完結)
■目録 ■ソース ①SQLite3 package cn.com.sy; import java.sql.Connection; import java.sql.DriverManager; impo ...
- NIO学习笔记
零.前言 这里整理摘录了我了解NIO的一些笔记. 参考资料: 1.深入浅出NIO之Channel.Buffer 2.深入浅出NIO之Selector实现原理 3.Java NIO vs. IO 一.N ...
- 在Ubuntu中使用JDB调试代码
在Ubuntu中使用JDB调试代码 了解JDB JDB是JDK安装的一部分,是基于文本和命令行的调试工具,JDB是可以免费获取且平台独立的,缺点是只有命令行格式. JDB基础命令 在方法中设置断点st ...
- 使用CP进行应用层程序控制
测试版本:R80.20 Step1:开启软刀片的URL过滤和APP控制,如下图: Step2:编辑访问策略,在层编辑器中勾选刀片的“应用程序和URL过滤”,“内容识别”,如下图: Step3:新建一条 ...
- MacbookPro下载word文件显示dms怎么办
方法:直接改扩展名!!!!!!!!!! 如果你下载的是word的话,把最后的扩展名.dms改成.doc就可以了. 同理,如果你下载的是rar的话,改成rar就好了.
- 前后端分离框架前端react,后端springboot跨域问题分析
前后端分离框架前端react,后端springboot跨域问题分析 为啥跨域了 前端react的设置 springboot后端设置 为啥跨域了 由于前后端不在一个端口上,也是属于跨域问题的一种,所以必 ...
- 2. 2A03简介
2A03简介 1.CPU 1.1 内部寄存器 1.累加寄存器A(Accumulator):8位寄存器,用于同算术逻辑单元(ALU)共同完成各种算术逻辑运算,它既为ALU提供原始操作数又担任存放ALU运 ...