Java8中的日期时间类
测试类:
import java.time.*;
import java.time.format.DateTimeFormatter; public class App
{
public static void main( String[] args )
{ LocalDateTime time = LocalDateTime.now();
System.out.println(time.toString()); //输出日期时间:2019-05-04T18:27:55.240
System.out.println(time.toLocalDate()); //输出日期:2019-05-04
System.out.println(time.toLocalTime()); //输出时间:18:27:55.240
System.out.println(time.getDayOfMonth()); //输出当前日期月份的第几天:4
System.out.println(time.getDayOfWeek()); //输出档期日期周几:SATURDAY
System.out.println(time.getDayOfYear()); //当前日期在该年属于第几天:124
System.out.println(time.getHour()); //输出:18
System.out.println(time.getMinute()); //输出:27
System.out.println(time.getSecond()); //输出:55
System.out.println(time.getMonthValue()); //输出:5
System.out.println(time.getMonth()); //输出:MAY
System.out.println("=============================================="); //格式化输出:
DateTimeFormatter format = DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss");
System.out.println(time.format(format)); //输出:2019-05-04 18:27:55 //构造时间
LocalDateTime startTime = LocalDateTime.of(2019,05,04,17,59);
System.out.println(startTime.format(format)); //输出:2019-05-04 17:59:00
LocalDateTime endTime = LocalDateTime.of(LocalDate.now(), LocalTime.of(0,0,0));
System.out.println(endTime.format(format)); //输出:2019-05-04 00:00:00 //时间比较
System.out.println(time.isAfter(startTime)); //输出:true
System.out.println(time.isBefore(endTime)); //输出:false //时间运算
System.out.println(time.plusDays(-1).format(format)); //输出:2019-05-03 18:27:55
System.out.println(time.plusDays(1).format(format)); //输出:2019-05-05 18:27:55
System.out.println(time.plusMonths(-1).format(format)); //输出:2019-04-04 18:27:55
System.out.println(time.plusMonths(1).format(format)); //输出:2019-06-04 18:27:55
System.out.println(time.getHour()); //输出:18
System.out.println(time.withHour(1).format(format)); //输出:2019-05-04 01:27:55 //获取毫秒数时间戳
long milliSec = time.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
System.out.println(milliSec); //输出:1556965675240
//获取秒数时间戳
long sec = time.atZone(ZoneId.systemDefault()).toInstant().getEpochSecond();
System.out.println(sec); //输出:1556965675
//时间戳转换为时间
LocalDateTime time2 =LocalDateTime.ofInstant(Instant.ofEpochMilli(milliSec),ZoneId.systemDefault());
System.out.println(time2.format(format)); //输出:2019-05-04 18:27:55
LocalDateTime time3 = LocalDateTime.ofInstant(Instant.ofEpochSecond(sec),ZoneId.systemDefault());
System.out.println(time3.format(format)); //输出:2019-05-04 18:27:55 }
}
输出结果:
2019-05-04T18:27:55.240
2019-05-04
18:27:55.240
4
SATURDAY
124
18
27
55
5
MAY
==============================================
2019-05-04 18:27:55
2019-05-04 17:59:00
2019-05-04 00:00:00
true
false
2019-05-03 18:27:55
2019-05-05 18:27:55
2019-04-04 18:27:55
2019-06-04 18:27:55
18
2019-05-04 01:27:55
1556965675240
1556965675
2019-05-04 18:27:55
2019-05-04 18:27:55
Java8中的日期时间类的更多相关文章
- 都9012了,Java8中的日期时间API你还没有掌握?
一,Java8日期时间API产生的前因后果 1.1 为什么要重新定义一套日期时间API 操作不方便:java中最初的Date不能直接对指定字段进行加减操作也不支持国际化,后来新增了Calendar,但 ...
- 【Java8新特性】关于Java8中的日期时间API,你需要掌握这些!!
写在前面 Java8之前的日期和时间API,存在一些问题,比如:线程安全的问题,跨年的问题等等.这些问题都在Hava8中的日期和时间API中得到了解决,而且Java8中的日期和时间API更加强大.立志 ...
- 对Java8新的日期时间类的学习(二)
示例11 在Java中如何判断某个日期是在另一个日期的前面还是后面 这也是实际项目中常见的一个任务.你怎么判断某个日期是在另一个日期的前面还是后面,或者正好相等呢?在Java 8中,LocalDate ...
- 对Java8新的日期时间类的学习(一)
引用自Java译站http://it.deepinmind.com/java/2015/03/17/20-examples-of-date-and-time-api-from-Java8.html 除 ...
- jdk8环境下sprngboot/springmvc中JSR310新日期/时间类LocalDateTime显示效果带T
如图所示: 日期时间类中带了一个T,以上这种格式LocalDateTime格式化的时候默认日期时间格式:ISO.DATE_TIME(按笔者目前的知识理解是ISO8601规范中的日期时间格式化) 想要把 ...
- Java基础——常用类之日期时间类
如果有机会,请尝试Java8中全新的时间日期API!(参见Java8新特性随笔) 如果还是使用Java7及之前的版本,那么你可以尝试一些工具类(参考使用工具类相关的Hutool-DateUtil) 如 ...
- Android中关于日期时间与时区的使用总结
在开发Android的过程中,出现过几次由于日期时间导致的问题,而且主要是由于时区的原因导致,所以一直想总结一下,形成一个良好的开发规范. 一.Unix时间戳 Unix时间戳(Unix tim ...
- 在mysql数据库中关于日期时间字段的处理
在mysql数据库中关于日期时间字段的处理 在开发中,日期时间字段一般有如下几种设计 假设要获取2013-08-15日到2013-08-16日之间的记录 1. 直接使用日期时间类字段 相关sql语句如 ...
- 日期类时间类,日期时间类,单例模式,装箱与拆箱,数字类随机数,BigDecimal总结
1.日期类,时间类,日期时间类 初步日期使用方法及格式转换方法(旧方法): 格式://Mon Jul 30 11:26:05 CST 2018 年月日时分秒 CST代表北 ...
随机推荐
- SSH安全协议
SSHD服务 介绍:SSH 协议:安全外壳协议.为 Secure Shell 的缩写.SSH 为建立在应用层和传输层基础上的安全协议. 默认端口22 作用 sshd服务使用SSH协议可以用来进行远程控 ...
- [算法竞赛][2018][蓝桥杯][LanqiaoCA]第九届蓝桥杯A组
题目1 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + .... 每项是前一项的一半,如果一共有20项,求这个和是多少,结果用分数表示出来.类似:3/2当然,这只是加了前2项 ...
- linux系统编程之信号(四)
今天继续探讨信号相关的东东,话不多说,正入正题: 信号在内核中的表示: 下面用图来进一步描述这种信号从产生到递达之间的状态(信号阻塞与未诀): 那是怎么来决定的呢?下面慢慢来举例分解: 所以,通过 ...
- dt二次开发之-url伪静态的自定义
dt内核的方便性在于代码内核完全开源,都可以根据自身需要进行优化整改,个人在这段时间的深入研究,发现这套内核的方便性,今天继续给大家分享下DT的url伪静态如何自定义函数. url自定义文件是在api ...
- ASP.NET MVC 入门11、使用AJAX
asp.net mvc 支持微软自身Ajax 和 JQuery框架 asp.net mvc View视图可以理解为 一个包含"<%%>"变量引和的模板. Script与 ...
- 阿里druid数据源配置及数据库密码加密
注意: 1.阿里默认只对用户密码解密 2.druid 1.0.16版本及以上的解密时需要同时配置publicKey 一.生成密文密码 1 前提:已经配置了jdk环境 1.生成密文密码需要准备druid ...
- .Net Core WebApi实现跨域
.Net Core 需要引用一个包 Microsoft.AspNetCore.Cors 让接口实现跨域,需要配置两个地方. 一.Startup.cs 这里需要配置两个地方 public void C ...
- PostgreSQL 索引坏块处理
今天应用反应有张表查询报错,报错信息如下 back=# select max(create_time) from public.tbl_index_table where create_time> ...
- linux下MySQL的启动与访问
启动与停止 1.启动 MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可. [root@test1 init.d]# /etc/init.d/mysql ...
- C# 可为空?及(??、?. )
可空类型修饰符(?): 引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空. 例如:string str=null; 是正确的,int i=null; 编译器就会报错. 为了使值类型也 ...