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 新特性 Data Time API的更多相关文章
-
乐字节-Java8新特性之Date API
上一篇文章,小乐给大家带来了Java8新特性之Optional,接下来本文将会给大家介绍Java8新特性之Date API 前言: Java 8通过发布新的Date-Time API来进一步加强对日期 ...
-
【Java8新特性】Stream API有哪些中间操作?看完你也可以吊打面试官!!
写在前面 在上一篇<[Java8新特性]面试官问我:Java8中创建Stream流有哪几种方式?>中,一名读者去面试被面试官暴虐!归根结底,那哥儿们还是对Java8的新特性不是很了解呀!那 ...
-
Java8 新特性之Stream API
1. Stream 概述 Stream 是Java8中处理集合的关键抽象概念,可以对集合执行非常复杂的查找,过滤和映射数据等操作; 使用 Stream API 对集合数据进行操作,就类似于使用 SQL ...
-
Java8 新特性 Lambda &; Stream API
目录 Lambda & Stream API 1 Lambda表达式 1.1 为什么要使用lambda表达式 1.2 Lambda表达式语法 1.3 函数式接口 1.3.1 什么是函数式接口? ...
-
java8新特性——时间日期API
传统的时间 API 存在线程安全的问题,在多线程开发中必须要上锁,所以 java8 现在为我们提供了一套全新的时间日期 API ,今天进来学习一下java8 的时间日期 API. 一.使用 Local ...
-
【Java8新特性】面试官:谈谈Java8中的Stream API有哪些终止操作?
写在前面 如果你出去面试,面试官问了你关于Java8 Stream API的一些问题,比如:Java8中创建Stream流有哪几种方式?(可以参见:<[Java8新特性]面试官问我:Java8中 ...
-
乐字节-Java8新特性之Base64和重复注解与类型注解
上一篇小乐给大家说了<乐字节-Java8新特性之Date API>,接下来小乐继续给大家说一说Java8新特性之Base64和重复注解与类型注解. 一.Base64 在Java 8中,内置 ...
-
Java8新特性时间日期库DateTime API及示例
Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理.同样的,如果你现在依旧在项目中使用传统Date.Calendar和SimpleDateFormat等API ...
-
Java8 新特性 Stream() API
新特性里面为什么要加入流Steam() 集合是Java中使用最多的API,几乎每一个Java程序都会制造和处理集合.集合对于很多程序都是必须的,但是如果一个集合进行,分组,排序,筛选,过滤...这些操 ...
随机推荐
-
Sqli-labs less 29
Less-29 首先先看下tomcat中的index.jsp文件 在apache的index.php中,sql语句为 $sql="SELECT * FROM users WHERE id=' ...
-
MVC网站发布常见问题
直接发布的时候生成的bin会漏掉一些文件,从而导致网站无法访问: 解决方法:发布之后,再在本地运行一下网站,然后将运行后生成的bin文件夹下的文件拷贝到发布的文件夹目录下进行覆盖,就可以了
-
ZOJ3865:Superbot(BFS) The 15th Zhejiang University Programming Contest
一个有几个小坑的bfs 题目很长,但并不复杂,大概总结起来有这么点. 有t组输入 每组输入n, m, p.表示一个n*m的地图,每p秒按键会右移一次(这个等会儿再讲). 然后是地图的输入.其中'@'为 ...
-
BZOJ 1070 修车
Description 同一时刻有\(N\)位车主带着他们的爱车来到了汽车维修中心.维修中心共有\(M\)位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这\(M\)位技术 ...
-
开发专题指南: JEECG高速微云开发平台前言
JEECG微云高速开发平台-前言 1. 前言 1.1. 技术背景 随着WEB UI 框架(EasyUI/Jquery UI/Ext/DWZ)等的逐渐成熟,系统界面逐渐实现统一化,代码生成器也能够生成统 ...
-
Java基础_Java概述
Java_概述 特点: 平台的移植性 开源 面向对象 多线程 安全性 工作方式: 先编译再解释执行. 先通过Javac命令将Java源代码编译成字节码文件(bytecode,类文件,.class,中间 ...
-
按此格式写你的distributionUrl,可以直接用本地的gradle包
distributionUrl=file\:/C:/Users/shenliuyong/.gradle/wrapper/dists/gradle-2.10-all/a4w5fzrkeut1ox71xs ...
-
Vue 核心之数据劫持
前端界空前繁荣,各种框架横空出世,包括各类mvvm框架横行霸道,比如Angular.Regular.Vue.React等等,它们最大的优点就是可以实现数据绑定,再也不需要手动进行DOM操作了,它们实现 ...
-
Centos7下使用mail发送邮件配置
参考文档:https://blog.csdn.net/lyf844692713/article/details/81479066 安装环境查看 查看服务是否安装 rpm -qa|grep mail 如 ...
-
map转换成JSON的3种方法
http://www.json.cn/JSON格式校验 1 json-lib <dependency> <groupId>net.sf.json-lib</groupId ...