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 上传文件, ...
随机推荐
- vue中v-cloak解决刷新或者加载出现闪烁(显示变量)
在使用vue绑定数据的时候,渲染页面时会出现变量闪烁,例如 <div class="#app"> <p>{{value.name}}</p> & ...
- Nagios监控配置文件及监控流程
1.安装路径/usr/local/nagios/下存在etc.bin.sbin.share.var 这五个目录.Nagios 各个目录用途说明如下: bin Nagios 可执行程序所在目录 etc ...
- MySql数据库执行insert时候报错:Column count doesn't match value count at row 1
遇到这个问题之后,第一反应就是前后列数不等造成的,但是我检查SQL之后,发现列数是相同得,但是插入还是有问题,然后又写了简单得SQL只插入不为空得字段,执行还是报这个错,最后请教了高人,指点之后,大概 ...
- 【练习】Python第四次:实现对文件的增删改查
一,实现对文件的增删改查 (一),三级菜单的处理结构及退出技巧:使用TAG标记 tag=True while tag: print('leve1') choice=input("level1 ...
- Zabbix 各种报错信息和遇到的问题处理(持续总结更新~~~~~)
问题1:Zabbix poller processes more than 75% busy 解决: 1.修改配置文件: # vim /etc/zabbix/zabbix_server.conf St ...
- stm32输入的功能引脚功能介绍
Ⅰ.写在前面在开发STM32的时候,都需要对IO的模式进行配置(GPIO_InitStructure. GPIO_Mode = xxx).但是,你们都知道各种模式的具体意义吗? 有的人问:IO口输出可 ...
- 重构现有代码:Refactoring
重构现有代码:Refactoring 1.WHY SHOULD WE REFACTOR? 1.Refactoring Improves the Design of Software Without r ...
- 安装Pygame(Python3.6,windows)
1. 本机为python3.6的环境 2. 到pygame官网下载对应系统,对应python版本的pygame文件,下载地址:https://pypi.python.org/pypi/Pygame/1 ...
- 在MyEclipse中搭建spring-boot+mybatis+freemarker框架
一.创建项目 1.右键-->New-->Project... 2.选中Maven Project,点击next 3.选中第一个 4.添写Group Id,Artifact Id,选择Com ...
- python rsa 加密
rsa 非对称加密, 公钥加密, 私钥解密, 有公钥无法推导出私钥, 私钥保密 import rsa n = 1024 # n 越大生成公钥, 秘钥及加密解密所需时间就越长 key = rsa.new ...