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 上传文件, ...
随机推荐
- 虚拟机中安装完Lunix系统后,开机黑屏,只显示一个-,解决方法
1,查看设置->硬盘是不是SCSI,如果是,先关闭虚拟机,移除该硬盘(实际数据不会删除) 2,添加一个新的虚拟硬盘,最后位置选IDE设备 3,确定,重启虚拟机即可
- Django启动报错笔记
NO.1: You have 15 unapplied migration(s). Your project may not work properly until you apply the mig ...
- Linux 用户与组
在 Linux 操作系统下,如何添加一个新用户到一个特定的组中?如何同时将用户添加到多个组中?又如何将一个已存在的用户移动到某个组或者给他增加一个组?对于不常用 Linux 的人来讲,记忆 Linux ...
- H5-手机震动
//手机震动function vibration(){ navigator.vibrate = navigator.vibrate || navigator.webkitVibrate || navi ...
- [TestNG] [WARN] Ignoring duplicate listener : org.testng.IDEATestNGRemoteListenerEx
1. 使用6.10,和6.14.3版本testng,出现多条warn信息 [TestNG] [WARN] Ignoring duplicate listener : org.testng.IDEATe ...
- virtualenv+pyenv管理python工作环境
因为python2与3之间存在差异,所以日常工作中可能需要在2与3之间来回切换.在相同的python版本中,有可能有的项目需要用到django1.8,别的项目需要用到django1.9,所以如果可以在 ...
- 【笔记】Python基础四:迭代器和生成器
一,迭代器协议和for循环工作机制 (一),迭代器协议 1,迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个stopiteration异常,以终止迭代(只能往 ...
- 第六周博客作业 <西北师范大学| 周安伟>
第六周博客作业 助教博客链接:https://home.cnblogs.com/u/zaw-315/ 本周工作:评阅作业24份点评困难的作业:无作业要求:https://www.cnblogs.com ...
- ListBox设置背景色无效的问题。 listview类似
<Style TargetType="{x:Type ListBoxItem}"> <Setter Property="Template"&g ...
- CRM--admin组件
admin组件使用 1.创建一个Django项目 2.在models里面创建表 class Publish(models.Model): name = models.CharField(max_len ...