Java8 新特性 Data Time API

时间:2022-09-21 18:34:11

Java8新的日期类型

在Java8以前,Date日期API对我们非常的不友好,它无法表示日期,只能以毫秒的精试来表示时间,并且可以修改,他的线程还不是安全的。所以Java8中引入了全新的日期和时间API就是为了解决这一问题。

LocalDate,LocalTime,LocalDateTime的简单使用

  使用静态工厂of,来创建一个LocalDate实例。

@Test
public void test1() {
LocalDate of = LocalDate.of(2019, 11, 11);//2019-11-11
int year = of.getYear(); //年份:2019
Month month = of.getMonth(); //月份:NOVEMBER
int dayOfMonth = of.getDayOfMonth(); //这月的第几天:11
DayOfWeek dayOfWeek = of.getDayOfWeek();//这周的第几天:MONDAY
int dayOfYear = of.getDayOfYear(); //这年的第几天:315
boolean leapYear = of.isLeapYear(); //是否是润年:false
}

  使用静态工厂of,来创建一个LocalTime实例

@Test
public void test2() {
LocalTime localTime = LocalTime.of(11, 12, 13);
int hour = localTime.getHour(); //小时:11
int minute = localTime.getMinute(); //分钟:12
int second = localTime.getSecond(); //秒数:13
}

  使用静态工厂of,来创建一个LocalDateTime实例

@Test
public void test3() {
//2019-11-12T13:14:15
LocalDateTime localDateTime = LocalDateTime.of(2019, 11, 12, 13, 14, 15);
//2019-11-12
LocalDate localDate = localDateTime.toLocalDate();
//13:14:15
LocalTime localTime = localDateTime.toLocalTime();
//可以从LocalDateTime获取所有的当前的信息,比如,年份,月份。。
LocalDateTime now = LocalDateTime.now(); //获取当前系统的日期,时间
}

格式化日期类型和解晰符串

@Test
public void test4() {
LocalDateTime localDateTime = LocalDateTime.now();
String format = localDateTime.format(DateTimeFormatter.BASIC_ISO_DATE);
//20191210
String format1 = localDateTime.format(DateTimeFormatter.ISO_DATE_TIME);
//2019-12-10T09:35:22.27
String format2 = localDateTime.format(DateTimeFormatter.ISO_DATE);
//2019-12-10
String format3 = localDateTime.format(DateTimeFormatter.ISO_TIME);
//09:37:52.778 //自定义规则
String format4 = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
//2019-12-10 09:39:18
String format5 = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
//2019-12-10
String format6 = localDateTime.format(DateTimeFormatter.ofPattern("HH:mm:ss"));
//09:40:06 //解晰字符串
String mYDateTime = "2019-12-10 09:39:18";
String mYDate = "2019-12-10";
LocalDate parse = LocalDate.parse(mYDate, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
//2019-12-10
LocalDateTime parse1 = LocalDateTime.parse(mYDateTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
//2019-12-10T09:39:18
}

参考:

java8新特性七-Date Time API


细节决定成败!

个人愚见,如有不对,恳请扶正!

Java8 新特性 Data Time API的更多相关文章

  1. 乐字节-Java8新特性之Date API

    上一篇文章,小乐给大家带来了Java8新特性之Optional,接下来本文将会给大家介绍Java8新特性之Date API 前言: Java 8通过发布新的Date-Time API来进一步加强对日期 ...

  2. 【Java8新特性】Stream API有哪些中间操作?看完你也可以吊打面试官!!

    写在前面 在上一篇<[Java8新特性]面试官问我:Java8中创建Stream流有哪几种方式?>中,一名读者去面试被面试官暴虐!归根结底,那哥儿们还是对Java8的新特性不是很了解呀!那 ...

  3. Java8 新特性之Stream API

    1. Stream 概述 Stream 是Java8中处理集合的关键抽象概念,可以对集合执行非常复杂的查找,过滤和映射数据等操作; 使用 Stream API 对集合数据进行操作,就类似于使用 SQL ...

  4. Java8 新特性 Lambda &amp&semi; Stream API

    目录 Lambda & Stream API 1 Lambda表达式 1.1 为什么要使用lambda表达式 1.2 Lambda表达式语法 1.3 函数式接口 1.3.1 什么是函数式接口? ...

  5. java8新特性——时间日期API

    传统的时间 API 存在线程安全的问题,在多线程开发中必须要上锁,所以 java8 现在为我们提供了一套全新的时间日期 API ,今天进来学习一下java8 的时间日期 API. 一.使用 Local ...

  6. 【Java8新特性】面试官:谈谈Java8中的Stream API有哪些终止操作?

    写在前面 如果你出去面试,面试官问了你关于Java8 Stream API的一些问题,比如:Java8中创建Stream流有哪几种方式?(可以参见:<[Java8新特性]面试官问我:Java8中 ...

  7. 乐字节-Java8新特性之Base64和重复注解与类型注解

    上一篇小乐给大家说了<乐字节-Java8新特性之Date API>,接下来小乐继续给大家说一说Java8新特性之Base64和重复注解与类型注解. 一.Base64 在Java 8中,内置 ...

  8. Java8新特性时间日期库DateTime API及示例

    Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理.同样的,如果你现在依旧在项目中使用传统Date.Calendar和SimpleDateFormat等API ...

  9. Java8 新特性 Stream&lpar;&rpar; API

    新特性里面为什么要加入流Steam() 集合是Java中使用最多的API,几乎每一个Java程序都会制造和处理集合.集合对于很多程序都是必须的,但是如果一个集合进行,分组,排序,筛选,过滤...这些操 ...

随机推荐

  1. Sqli-labs less 29

    Less-29 首先先看下tomcat中的index.jsp文件 在apache的index.php中,sql语句为 $sql="SELECT * FROM users WHERE id=' ...

  2. MVC网站发布常见问题

    直接发布的时候生成的bin会漏掉一些文件,从而导致网站无法访问: 解决方法:发布之后,再在本地运行一下网站,然后将运行后生成的bin文件夹下的文件拷贝到发布的文件夹目录下进行覆盖,就可以了

  3. ZOJ3865&colon;Superbot&lpar;BFS&rpar; The 15th Zhejiang University Programming Contest

    一个有几个小坑的bfs 题目很长,但并不复杂,大概总结起来有这么点. 有t组输入 每组输入n, m, p.表示一个n*m的地图,每p秒按键会右移一次(这个等会儿再讲). 然后是地图的输入.其中'@'为 ...

  4. BZOJ 1070 修车

    Description 同一时刻有\(N\)位车主带着他们的爱车来到了汽车维修中心.维修中心共有\(M\)位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这\(M\)位技术 ...

  5. 开发专题指南&colon; JEECG高速微云开发平台前言

    JEECG微云高速开发平台-前言 1. 前言 1.1. 技术背景 随着WEB UI 框架(EasyUI/Jquery UI/Ext/DWZ)等的逐渐成熟,系统界面逐渐实现统一化,代码生成器也能够生成统 ...

  6. Java基础&lowbar;Java概述

    Java_概述 特点: 平台的移植性 开源 面向对象 多线程 安全性 工作方式: 先编译再解释执行. 先通过Javac命令将Java源代码编译成字节码文件(bytecode,类文件,.class,中间 ...

  7. 按此格式写你的distributionUrl,可以直接用本地的gradle包

    distributionUrl=file\:/C:/Users/shenliuyong/.gradle/wrapper/dists/gradle-2.10-all/a4w5fzrkeut1ox71xs ...

  8. Vue 核心之数据劫持

    前端界空前繁荣,各种框架横空出世,包括各类mvvm框架横行霸道,比如Angular.Regular.Vue.React等等,它们最大的优点就是可以实现数据绑定,再也不需要手动进行DOM操作了,它们实现 ...

  9. Centos7下使用mail发送邮件配置

    参考文档:https://blog.csdn.net/lyf844692713/article/details/81479066 安装环境查看 查看服务是否安装 rpm -qa|grep mail 如 ...

  10. map转换成JSON的3种方法

    http://www.json.cn/JSON格式校验 1 json-lib <dependency> <groupId>net.sf.json-lib</groupId ...