//获取当前时间
LocalDateTime d0 = LocalDateTime.now();
System.out.println(DataConvertUtil.localDateTimeToStr(d0, "yyyy-MM-dd HH:mm:ss")); //输入年月日时分秒实例化新的时间对象
LocalDateTime d1 = LocalDateTime.of(2017, 5, 15, 20, 32, 12);
System.out.println(DataConvertUtil.localDateTimeToStr(d1, "yyyy-MM-dd HH:mm:ss")); //对一个时间对象加5分钟(同理也可加/减,年/月/日/时/分/秒),加是plus,减是minus
LocalDateTime d2 = d1.plusMinutes(5);
System.out.println(DataConvertUtil.localDateTimeToStr(d2, "yyyy-MM-dd HH:mm:ss")); //对一个时间对象单独设置年月日时分秒
//把小时设为5点
LocalDateTime d21 = d2.withHour(5);
//把小时设为5点,0分,0秒
d21 = d2.withHour(6).withMinute(0).withSecond(0);
System.out.println(DataConvertUtil.localDateTimeToStr(d21, "yyyy-MM-dd HH:mm:ss")); //获取日(同理也可获取年月日时分秒)
int day = d2.getDayOfMonth();
System.out.println(day); //判断两个时间的先后,可以用isAfter或isBefore,如下例就是判断d2是否晚于d1
boolean b1 = d2.isAfter(d1);
System.out.println(b1); //两个时间相减,获取时间差(例子为d2-d1,并获取时间差(单位:分钟))
//类似Duration的还有Period,Period专用于计算年月日
Duration duration = Duration.between(d1, d2);
long m1 = duration.toMinutes();
System.out.println(m1); //Date和LocalDateTime互转
Date dx1 = DataConvertUtil.localDateTimeToDate(d1);
LocalDateTime d3 = DataConvertUtil.dateToLocalDateTime(dx1);
System.out.println(DataConvertUtil.localDateTimeToStr(d3, "yyyy-MM-dd HH:mm:ss")); //Date和LocalDate互转
LocalDate d31 = LocalDate.now();
dx1 = DataConvertUtil.localDateToDate(d31);
d31 = DataConvertUtil.dateToLocalDate(dx1); //LocalDateTime按指定格式输出string
//还有可指定输出格式版本localDateTimeToStr(LocalDateTime value, String format)
String s1 = DataConvertUtil.localDateTimeToStr(d1, "yyyy-MM-dd HH:mm:ss");
System.out.println("s1=" + s1); //string按指定格式转为LocalDateTime
//还有可指定格式版本strToLocalDateTime(String value, String format)
LocalDateTime d4 = DataConvertUtil.strToLocalDateTime(s1, "yyyy-MM-dd HH:mm:ss");
System.out.println(DataConvertUtil.localDateTimeToStr(d4, "yyyy-MM-dd HH:mm:ss"));
//注意!!!!!
//由于LocalDateTime类型的限制,字符串转LocalDateTime时字符串值必须完整包含年月日时分秒,而实际情况经常会只有年月日
//对于这种情况,可以用下例的DataConvertUtil.strToLocalDate转为LocalDate类型,然后再把LocalDate转为LocalDateTime
String s2 = DataConvertUtil.localDateTimeToStr(d1, "yyyy-MM-dd");
//字符串转LocalDate
LocalDate d5 = DataConvertUtil.strToLocalDate(s2, "yyyy-MM-dd");
System.out.println(DataConvertUtil.localDateToStr(d5));
//LocalDate转LocalDateTime
LocalDateTime d6 = LocalDateTime.of(d5, LocalTime.of(0, 0));
System.out.println(DataConvertUtil.localDateTimeToStr(d6, "yyyy-MM-dd HH:mm:ss")); //以下补充DataConvertUtil类的相关函数
/**
* LocalDateTime转Date
*
* @param localDateTime
* @return
*/
public static Date localDateTimeToDate(LocalDateTime localDateTime) {
if (localDateTime == null) return null; return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
} /**
* Date转LocalDateTime
*
* @param date
* @return
*/
public static LocalDateTime dateToLocalDateTime(Date date) {
if (date == null) return null; return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
} /**
* LocalDate转Date
*
* @param localDate
* @return
*/
public static Date localDateToDate(LocalDate localDate) {
if (localDate == null) return null; return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
} /**
* Date转LocalDate
*
* @param date
* @return
*/
public static LocalDate dateToLocalDate(Date date) {
if (date == null) return null; return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
} /**
* 日期时间(LocalDateTime)按默认格式转字符串
*
* @param value
* @return
*/
public static String localDateTimeToStr(LocalDateTime value) {
return localDateTimeToStr(value, "yyyy-MM-dd");
} /**
* 日期时间(LocalDateTime)按指定格式转字符串
*
* @param value
* @param format
* @return
*/
public static String localDateTimeToStr(LocalDateTime value, String format) {
String dateString;
if (value == null) {
dateString = "";
} else {
DateTimeFormatter formatDate = DateTimeFormatter.ofPattern(format);
dateString = value.format(formatDate);
} return dateString;
} /**
* 字符串按默认格式转日期时间(LocalDateTime)
*
* @param value
* @return
*/
public static LocalDateTime strToLocalDateTime(String value) {
return strToLocalDateTime(value, "yyyy-MM-dd HH:mm:ss");
} /**
* 字符串按指定格式转日期时间(LocalDateTime)
*
* @param value
* @param format
* @return
*/
public static LocalDateTime strToLocalDateTime(String value, String format) {
if (value != null && value.trim().length() > 0) {
DateTimeFormatter formatDate = DateTimeFormatter.ofPattern(format); try {
return LocalDateTime.parse(value, formatDate);
} catch (Exception e) {
return null;
}
} return null;
}

jdk1.8新日期时间类(DateTime、LocalDateTime)demo代码的更多相关文章

  1. Java 之 JDK1.8之前日期时间类

    一.JDK1.8之前日期时间类 二. java.lang.System类 System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1 ...

  2. jdk8环境下sprngboot/springmvc中JSR310新日期/时间类LocalDateTime显示效果带T

    如图所示: 日期时间类中带了一个T,以上这种格式LocalDateTime格式化的时候默认日期时间格式:ISO.DATE_TIME(按笔者目前的知识理解是ISO8601规范中的日期时间格式化) 想要把 ...

  3. springboot Thymeleaf中格式化jsr310新日期时间类(LocalDateTime,LocalDate)--thymeleaf格式化LocalDateTime,LocalDate等JDK8新时间类

    依赖maven包 <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>th ...

  4. 日期类时间类,日期时间类,单例模式,装箱与拆箱,数字类随机数,BigDecimal总结

    1.日期类,时间类,日期时间类 初步日期使用方法及格式转换方法(旧方法): 格式://Mon Jul 30 11:26:05 CST 2018             年月日时分秒    CST代表北 ...

  5. 详解 JDK8 新增的日期时间类

    JDK8 新增的日期时间类 在本人之前的博文<处理时间的类 -- System类.Date类 .SimpleDateFormat类 与 Calendar类>中,讲到过表示时间的类,有三类: ...

  6. 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...

  7. Java 8 新日期时间 API

    Java 8 新日期时间 API 1. LocalDate.LocalTime.LocalDateTime LocalDate.LocalTime.LocalDateTime 实例是不可变的对象,分别 ...

  8. 第十一章 容器类&新日期时间

    11.1.Optional 容器类 11.1.1.概述 Optional 类是一个容器类,代表一个值存在或不存在, 原来用 null 表示一个值不存在,现在 Optional类 可以更好的表达这个概念 ...

  9. 日期时间类:Date,Calendar,计算类:Math

    日期时间类 计算机如何表示时间? 时间戳(timestamp):距离特定时间的时间间隔. 计算机时间戳是指距离历元(1970-01-01 00:00:00:000)的时间间隔(ms). 计算机中时间2 ...

随机推荐

  1. C语言一个单链表的实现

    -- 所谓链表记住一句即可:地址不连续,大家只是握个手而已: list0.c #include<stdio.h> #include<malloc.h> typedef int ...

  2. CentOS设置代理

      假设我们要设置代理为 IP:PORT1.网页上网网页上网设置代理很简单,在firefox浏览器下 Edit-->>Preferences-->>Advanced--> ...

  3. SPOJ:Decreasing Number of Visible Box(不错的,背包?贪心?)

    Shadowman loves to collect box but his roommates woogieman and itman don't like box and so shadowman ...

  4. 「LuoguP1799」 数列_NOI导刊2010提高(06)

    题目描述 虽然msh长大了,但她还是很喜欢找点游戏自娱自乐.有一天,她在纸上写了一串数字:1,1,2,5,4.接着她擦掉了一个l,结果发现剩下1,2,4都在自己所在的位置上,即1在第1位,2在第2位, ...

  5. 开发微信小程序心得

    元旦过后,根据公司的项目要求,项目组开始集体研究小程序,在这想谈点个人开发小程序心得,首先就是需要看小程序的文档,如同很多框架一样,不可能一上来就能动手敲代码(大神除外),其次就是不能一直单纯的看,因 ...

  6. struct 结构体解析(原)

    (一)基本概念 结构体是一个或是多个变量的集合,这些变量可能为不同的类型,为了处理的方便而将这些变量组合在一个名字之下.我们将关键字struct引入了结构声明中.结构声明包含在花括号内的一系列声明组成 ...

  7. asp.net MVC 单选按钮的使用

    单选按钮的标准的html 语法 <form><input type="radio" name="sex" value="male&q ...

  8. 3.1-3.5 分布式部署hadoop2.x的准备和配置

    一.环境 192.168.1.130     master 192.168.1.131     slave1 192.168.1.132     slave2 所有主机: 1.关闭防火墙.selinu ...

  9. STS和Eclipse安装Lombok插件

    参考:https://www.cnblogs.com/caozx/p/9510354.html 参考:https://blog.csdn.net/wutian90/article/details/87 ...

  10. 腾讯视频API --关闭广告推荐

    官方文档:http://v.qq.com/open/doc/tvpapi2.0.pdf 使用: <script src="http://imgcache.qq.com/tencentv ...