Java8 新特性 Data Time API
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程序都会制造和处理集合.集合对于很多程序都是必须的,但是如果一个集合进行,分组,排序,筛选,过滤...这些操 ...
随机推荐
- SQLMap常用教程
先安装 python环境(2.6.x或2.7版本) ,再将SQLMap 放在安装目录下 注意:sqlmap只是用来检测和利用sql注入点的,并不能扫描出网站有哪些漏洞,使用前请先使用扫描工具扫出sql ...
- Python【day 11】函数名的应用
函数名的应用 1.函数名字可以作为参数进行传递 2.函数名可以像变量一样进行多次赋值传递,通过print(函数名.__name__)查看原函数 3.函数名表示函数的内存地址 4.函数名()表示函数的执 ...
- system execl
1. system(); int system(const char *command); 在Windows下,用来调用常用的Dos命令 在Linux下,system()会调用fork()产生子进程, ...
- bootstrap基础样式学习(一)
1.按钮btn .btn 按钮基础的样式 .btn-default 白底黑子的按钮 .btn-danger/warning/success/info/primary .btn-lg/sm/xs 按钮大 ...
- RDD源码分析
RDD源码解析 一. RDD.scala - Resilient Distributed Dataset (RDD) 弹性分布式数据集 弹性: 体现在计算上面 - the basic abstract ...
- Linux系统下安装jdk及环境配置(两种方法)
https://blog.csdn.net/qq_42815754/article/details/82968464 这里介绍两种linux环境下jdk的安装以及环境配置方法在windows系统安装j ...
- ensorFlow的安装
WIN7 64位系统 参考了 https://blog.csdn.net/appleyuchi/article/details/71036785 尝试了各种版本,,最后必须python安装3.60版 ...
- c# 第14节 字符方法、转义字符、字符串的方法
本节内容: 1:字符的定义 2:字符的方法 3: 转义字符 4:字符串简介 5:字符串方法 1:字符的定义 char与Unicode一一对应,一个char 2个字节. 2:字符的使用方法: 实例: s ...
- 201777010217-金云馨《面向对象程序设计Java》第八周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 杂项-FLAG
题目 最低位隐写 50 4B 03 04 压缩格式zip的文件头 save bin 保存成zip格式 解压(WinRAR不能正常解压) 然后用vim打开(winhex也可以) hctf{dd0gf4c ...