Java8 LocalDateTime极简时间日期操作小结

简述

时间日期处理是平时工作中使用非常频繁的逻辑,Java8中提供的新的时间类LocalDateTimeLocalDate,使日期处理可以更简单。

友情提醒下,业务开发中最好默认使用LocalDateTime,因为LocalDateTime可以很方便的转换为LocalDate,但是LocalDate是不可以转为LocalDateTime的,会没有时分秒的数据!!!

本篇文章整理了常用的日期处理获取方式,并做简要说明。

能写一行的,就不写两行!文章会持续更新。

实例

1.获取当前年月日的字符串

String ymd = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
DateTimeFormatter.ofPattern("yyyy-MM-dd"),修改获取的日期格式

2.在当前日期上加减N天,N月,N年

获取去年的日期,就是年份减1

LocalDate date = LocalDateTime.now().minusYears(1).toLocalDate();

获取一年后的日期,就是年份加1

LocalDate date = LocalDateTime.now().plusYears(1).toLocalDate();

加的函数都是plus前缀的

同理,还有minus天,周,月的函数,很方便

3.获取上周的某天

获取上周周一

LocalDate monday = LocalDate.now().minusWeeks(1).with(DayOfWeek.MONDAY);

DayOfWeek是java.time中的星期的枚举,可通过枚举值获取一周中的任一天

返回的仍是LocalDate对象,方便进一步处理

4.当前时间是星期几,这个月几号,今年的第几天

LocalDateTime dateTime = LocalDateTime.now();
System.out.println(dateTime.getDayOfWeek());
System.out.println(dateTime.getDayOfMonth());
System.out.println(dateTime.getDayOfYear());

5.获取两个日期中间的所有年份

 public static List<Integer> getYearsBetweenTwoVar(LocalDate s, LocalDate e) {
 LocalDate tmp = s.plusYears(1);
 List<Integer> yearList = new ArrayList<>();
 while (tmp.isBefore(e)) {
  yearList.add(tmp.getYear());
  tmp = tmp.plusYears(1);
 }
 return yearList;
 }

补充:java8 LocalDateTime 格式化

LocalDateTime格式化

LocalDateTime time=LocalDateTime.now();

System.out.println(time);

DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

String strDate2 = dtf2.format(time);

System.out.println(strDate2);

LocalDate转String ,String转LocalDate

LocalDate data=LocalDate.now();

System.out.print(data);

DateTimeFormatter dtf3 = DateTimeFormatter.ofPattern("yyyy-MM-dd");

String strDate3 = dtf3.format(data);

System.out.println(strDate3);

strDate3=strDate3+" 04:00:00";

LocalDateTime time1=LocalDateTime.parse(strDate3,dtf2);

System.out.print(time1);

System.out.print(time.isAfter(time1));

总结

到此这篇关于Java8 LocalDateTime极简时间日期操作整理的文章就介绍到这了,更多相关Java8 LocalDateTime 时间日期内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • mybatis如何使用Java8的日期LocalDate和LocalDateTime详解

    前言 相信大家应该都知道,在实体Entity里面,可以使用java.sql.Date.java.sql.Timestamp.java.util.Date来映射到数据库的date.timestamp.datetime等字段 但是,java.sql.Date.java.sql.Timestamp.java.util.Date这些类都不好用,很多方法都过时了. Java8里面新出来了一些API,LocalDate.LocalTime.LocalDateTime 非常好用 默认的情况下,在mybatis

  • Java8新日期时间API的20个使用示例

    除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API.Java对日期,日历及时间的处理一直以来都饱受诟病,尤其是它决定将java.util.Date定义为可修改的以及将SimpleDateFormat实现成非线程安全的.看来Java已经意识到需要为时间及日期功能提供更好的支持了,这对已经习惯使用Joda时间日期库的社区而言也是件好事.关于这个新的时间日期库的最大的优点

  • java8 LocalDate LocalDateTime等时间类用法实例分析

    本文实例讲述了java8 LocalDate LocalDateTime等时间类用法.分享给大家供大家参考,具体如下: 这篇文章主要是java8中新的Date和Time API的实战.新的Date和Time类是Java开发者社区千呼万唤始出来的.Java8 之前存在的Date类一直都受人诟病,很多人都会选择使用第三方的date库joda-time.Java8中的date和time api是jodatime的作者参与开发的,实现了JSR310的全部内容.这些新的api都在包java.time下.

  • Java8时间转换(LocalDateTime)代码实例

    这篇文章主要介绍了java8时间转换(LocalDateTime)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.将LocalDateTime转为自定义的时间格式的字符串 public static String getDateTimeAsString(LocalDateTime localDateTime, String format) { DateTimeFormatter formatter = DateTimeFormatt

  • JDBC中使用Java8的日期LocalDate和LocalDateTime操作mysql、postgresql

    前言 相信大家应该都知道,在实体Entity里面,可以使用java.sql.Date.java.sql.Timestamp.java.util.Date来映射到数据库的date.timestamp.datetime等字段 但是,java.sql.Date.java.sql.Timestamp.java.util.Date这些类都不好用,很多方法都过时了. Java8里面新出来了一些API,LocalDate.LocalTime.LocalDateTime 非常好用 如果想要在JDBC中,使用Ja

  • Java8时间日期库中的常用使用示例

    有人问我学习一个新库的最佳途径是什么?我的回答是,就是在实际项目中那样去使用它.在一个真实的项目中会有各种各样的需求,这会促使开发人员去探索和研究这个新库.简言之,只有任务本身才会真正促使你去探索及学习.java 8的新的日期及时间API也是一样.为了学习Java 8的这个新库,这里我创建了20个以任务为导向的例子.我们先从一个简单的任务开始,比如说如何用Java 8的时间日期库来表示今天,接着再进一步生成一个带时间及时区的完整日期,然后再研究下如何完成一些更实际的任务,比如说开发一个提醒类的应

  • Java8 LocalDateTime极简时间日期操作小结

    简述 时间日期处理是平时工作中使用非常频繁的逻辑,Java8中提供的新的时间类LocalDateTime和LocalDate,使日期处理可以更简单. 友情提醒下,业务开发中最好默认使用LocalDateTime,因为LocalDateTime可以很方便的转换为LocalDate,但是LocalDate是不可以转为LocalDateTime的,会没有时分秒的数据!!! 本篇文章整理了常用的日期处理获取方式,并做简要说明. 能写一行的,就不写两行!文章会持续更新. 实例 1.获取当前年月日的字符串

  • JavaScript时间日期操作实例小结【5个示例】

    本文实例讲述了JavaScript时间日期操作.分享给大家供大家参考,具体如下: 本来想在网上找一些js实例来练练手,结果发现一本书<突破JavaScript编程实例五十讲>,看了下内容还不错,就下了下来: 后面又下了该书籍的源码,一看才发现这本书编的日期是2002年的,代码运行之后,有些代码可以运行,有些代码已经失效,原因是其所用的一些语言是已经淘汰的了. 其次就是由于是很早之前写的,那时候可能还没有css,js,html分离的想法,都是杂糅在一起的,看起来很不舒服. 还有就是,代码末尾都是

  • C#中DateTime的时间加减法操作小结

    在C#语言中,DateTime是用来表示时间的类,在C#的DateTime时间类中,提供了好像时间对象加减法操作,可用于某一个时间对象加减 多少年.加减多少个月.加减多少天.加减多少小时.加减多少分钟.加减多少秒等操作,此文将总结C#的DateTime类中的时间加减操作运算. (1)加减多少年操作:AddYears方法,具体参考C#使用AddYears方法获取当前时间20年后的时刻. C#使用AddYears方法获取当前时间20年后的时刻 2019-08-10 10:01 在C#语言中,Date

  • PYTHON基础-时间日期处理小结

    步骤: 1. 掌握几种对象及其关系 2. 了解每类对象的基本操作方法 3. 通过转化关系转化 涉及对象 1. datetime >>> import datetime >>> now = datetime.datetime.now() >>> now datetime.datetime(2018, 1, 12, 23, 9, 12, 946118) >>> type(now) <type 'datetime.datetime'&

  • Android开发之时间日期操作实例

    相信对于手机的时间日期设置大家一定都不陌生吧,今天举一个关于时间日期设置的示例,其中有些许不完善之处,例如如何使设置的时间日期和手机系统同步等.感兴趣的读者可以根据自身经验加以完善. 现来看看具体示例,希望对大家有所帮助. 首先是时间设置: .java文件(MainActivity.java)代码如下: package com.example.activity_time_date; import java.util.Calendar; import android.app.Activity; i

  • js 格式化时间日期函数小结

    复制代码 代码如下: Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.g

  • PHP 时间日期操作实战

    常见常用的时间函数: 1.time(); //取得1970/1/1 00:00:00 到现在的总秒数 <?echo time();?> 2.mktime(); //设定时间 <?echo date("U",mktime(0,0,0,1,20,2011));//输出1970年1月1日0时0分0秒到2011年1月20日0时0分0秒的总秒数//mktime参数: mktime(时,分,秒,月,日,年);//常结合date("U",mktime(时,分,秒

  • Oracle时间日期操作方法小结第1/2页

    sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdate+5/24 在系统时间基础上延迟5小时 sysdate+5 在系统时间基础上延迟5天 add_months(sysdate,-5) 在系统时间基础上延迟5月 add_months(sysdate,-5*12) 在系统时间基础上延迟5年 上月末的日期:select last_day(add_months(sysdate, -1)) from dual; 本月

  • c#的时间日期操作示例分享(c#获取当前日期)

    1.给定时间戳返回指定的时间格式 复制代码 代码如下: private string StampToDate(string timeStamp,string format){ DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(timeStamp + "0000000"); TimeSpan toNow = new TimeS

  • Java8新特性时间日期库DateTime API及示例详解

    Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理.同样的,如果你现在依旧在项目中使用传统Date.Calendar和SimpleDateFormat等API来处理日期相关操作,这篇文章你一定不要错过.来刷新你的知识库吧! 背景 Java对日期.日历及时间的处理一直以来都饱受诟病,比如java.util.Date和java.util.Calendar类易用性差,不支持时区,非线程安全:还有用于格式化日期的类DateFormat也是非线程安全的等问题. J

随机推荐