热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

,,Java8中的LocalDateTime和Date一些时间操作方法

,,Java8中的LocalDateTime和Date一些时间操作方法这篇文章主要介绍了Java8中的本地日期时间和日期一些时间操作方法,本文通过实例代码给大家介绍的非常详细,对大

,,Java8中的LocalDateTime和Date一些时间操作方法

这篇文章主要介绍了Java8中的本地日期时间和日期一些时间操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

先记录下jdk8之前的一些帮助方法

判断时间是否在现在的n天之内

/**

* 判断时间是否在现在的n天之内

* @param时间

* @param现在

* @param n正数表示在条件时间n天之后,负数表示在条件时间n天之前

* @返回

*/

public static boolean belong Date(Date time,Date now,int n) {

简单日期格式SDF=新建简单日期格式(' yyyy-MM-DD ');

日历日历=日历。getinstance();//得到日历

calendar.setTime(现在);//把当前时间赋给日历

calendar.add(日历。月日,n);

七天之前的日期=日历。gettime();//得到n前的时间

如果(7天前。gettime()时间。gettime()){

返回真实的

}否则{

返回错误的

}

}

判断某个时间是否是在条件的起始时间与结束时间之内

/**

* 判断时间是否在从,到之内

*

* @param时间指定日期

* @param来自开始日期

* @param to结束日期

* @返回

*/

public static boolean属于日历(日期时间,日期开始,日期结束){

日历日期=日历。getinstance();

date.setTime(时间);

日历在=日历之后。getinstance();

after.setTime(从);

之前的日历=日历。getinstance();

before.setTime(到);

如果(日期。日期之后。之前(之前)){

返回真实的

}否则{

返回错误的

}

}

判断给定时间与当前时间相差多少天

公共静态long getDistanceDays(字符串日期){

日期格式df=新的简单日期格式(' yyyy-MM-DD ');

长日=0;

尝试{

日期时间=df。解析(日期);//字符串转日期

Date now=new Date();//获取当前时间

长时间1=时间。gettime();

长时间2=现在。gettime();

long diff=时间1-时间2;

天数=diff/(1000 * 60 * 60 * 24);

} catch(异常e) {

e。printstacktrace();

}

返回天数;//正数表示在当前时间之后,负数表示在当前时间之前

}

将日期转换成线

private static final String LONG _ PATTERN=' yyyy-MM-DD HH:MM:ss ';

私有静态最终字符串SHORT _ PATTERN=' yyyy-MM-DD ';

/**

* 将日期转换为字符串

*/

公共静态字符串分析(日期d,字符串模式){

日期格式df=null

如果(格局!=null!''.等于(模式)){

df=新的简单日期格式(模式);

}否则{

df=新的简单日期格式(LONG _ PATTERN);

}

返回df。格式(d);

}

将线转换成日期

private static final String LONG _ PATTERN=' yyyy-MM-DD HH:MM:ss ';

私有静态最终字符串SHORT _ PATTERN=' yyyy-MM-DD ';

/**

* 将字符串转为日期

*/

公共静态日期parseStringToDate(字符串str,字符串模式){

日期格式df=null

如果(格局!=null!''.等于(模式)){

df=新的简单日期格式(模式);

}否则{

df=新的简单日期格式(LONG _ PATTERN);

}

日期d=空;

尝试{

d=df。parse(str);

} catch (ParseException e) {

e。printstacktrace();

}

返回d;

}

获取指定年后的日期(例如三年后的日期)

日历日期=日历。getinstance();

约会。settime(新日期());

date.add(日历。年,3);

//倒计时结束后的时间

日期报废_年份=日期。gettime();

System.out.println('三年后时间报废_年);

Jdk8改革

本地日期时间获取毫秒数

//获取秒数

Long秒=LocalDateTime.now().toEpochSecond(区域偏移。of(' 8 ');

//获取毫秒数

长的毫秒=LocalDateTime.now().toInstant(ZoneOffset.of(' 8 ')).toEpochMilli();

本地日期时间与线互转

//时间转字符串格式化

日期时间格式化程序=日期时间格式化程序。的模式(' yyyymmdd hhmmsssss ');

字符串日期时间=本地日期时间。现在(区域偏移。属于(' 8 ').格式(格式化程序);

//字符串转时间

字符串日期时间str=' 2018-07-28 14:11:15 ';

日期时间格式器。的模式(' yyyy-MM-DD HH:MM:ss ');

本地日期时间=本地日期时间。parse(datetimestr,df):

日期与本地日期时间互转

//将java.util.Date转换为java8的java.time.LocalDateTime,默认时区为东8区

public static local datetime datecoverttolocaldatetime(date)>

返回日期。toinstant().atOffset(ZoneOffset.of(' 8 ').tolocaldatetime();

}

//将java8的java.time.LocalDateTime转换为java.util.Date,默认时区为东8区

公共静态日期localdatetimeconverttodate(local datetime local datetime)& gt;

返回日期。从(本地日期时间。到常数)(zoneoffset)。的(' 8 ')返回日期。从(本地日期时间。到常数));

}

将本地日期时间转为自定义的时间格式的字符串

公共静态字符串getdatetimeassstring(local datetime local datetime,string格式)& gt

date time formatter=datetime formatter。of模式(格式):

返回localDateTime.format(格式化程序):

}

将某时间字符串转为自定义时间格式的本地日期时间

public static local datetime parse stringtodatetime(字符串时间,字符串格式)}

日期时间格式器df=日期时间格式器。of模式(格式);

返回LocalDateTime.parse(time,df):

}

将很长吗类型的时间戳转为本地日期时间

公共静态local datetime getdatetimetimetimestamp(长时间戳)}

瞬间=瞬间。奥费波奇米利(时间戳):

zoneid zOne=zoneid。系统默认值();

返回本地日期时间。办公室常数(即时、区域):

}

将本地日期时间转为很长吗类型的时间戳

public static long gettimesinofdatetime(local datetime local datetime)& gt;

zoneid zOne=zoneid。系统默认值();

instant=本地日期时间。设置一区域. tu常数();

返回即时。topocmilli();

}

总结美元

到此这篇关于Java8中的本地日期时间和日期一些时间操作方法的文章就介绍到这了,更多相关java8本地日期时间和日期内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!



推荐阅读
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 在Java基础中,私有静态内部类是一种常见的设计模式,主要用于防止外部类的直接调用或实例化。这种内部类仅服务于其所属的外部类,确保了代码的封装性和安全性。通过分析JDK源码,我们可以发现许多常用类中都包含了私有静态内部类,这些内部类虽然功能强大,但其复杂性往往让人感到困惑。本文将深入探讨私有静态内部类的作用、实现方式及其在实际开发中的应用,帮助读者更好地理解和使用这一重要的编程技巧。 ... [详细]
  • 使用Maven JAR插件将单个或多个文件及其依赖项合并为一个可引用的JAR包
    本文介绍了如何利用Maven中的maven-assembly-plugin插件将单个或多个Java文件及其依赖项打包成一个可引用的JAR文件。首先,需要创建一个新的Maven项目,并将待打包的Java文件复制到该项目中。通过配置maven-assembly-plugin,可以实现将所有文件及其依赖项合并为一个独立的JAR包,方便在其他项目中引用和使用。此外,该方法还支持自定义装配描述符,以满足不同场景下的需求。 ... [详细]
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
  • Squaretest:自动生成功能测试代码的高效插件
    本文将介绍一款名为Squaretest的高效插件,该工具能够自动生成功能测试代码。使用这款插件的主要原因是公司近期加强了代码质量的管控,对各项目进行了严格的单元测试评估。Squaretest不仅提高了测试代码的生成效率,还显著提升了代码的质量和可靠性。 ... [详细]
  • 本文探讨了如何优化时间格式查询,特别是针对 `yyyyMM` 和 `yyyyMMdd` 类型的时间格式,提出了有效的方法来检索上一个月的数据。通过使用 `SimpleDateFormat` 和 `Calendar` 类,我们实现了一个高效的函数,该函数接收一个字符串参数(如 `yyyy-MM`),并返回上一个月的对应日期。此方法不仅提高了查询效率,还增强了代码的可读性和可维护性。 ... [详细]
  • 本文探讨了 Java 中 Pair 类的历史与现状。虽然 Java 标准库中没有内置的 Pair 类,但社区和第三方库提供了多种实现方式,如 Apache Commons 的 Pair 类和 JavaFX 的 javafx.util.Pair 类。这些实现为需要处理成对数据的开发者提供了便利。此外,文章还讨论了为何标准库未包含 Pair 类的原因,以及在现代 Java 开发中使用 Pair 类的最佳实践。 ... [详细]
  • 本文详细探讨了MySQL数据库实例化参数的优化方法及其在实例查询中的应用。通过具体的源代码示例,介绍了如何高效地配置和查询MySQL实例,为开发者提供了有价值的参考和实践指导。 ... [详细]
  • 本文详细介绍了在 Android 7.1 系统中调整屏幕分辨率和默认音量设置的方法。针对系统默认音量过大的问题,提供了具体的步骤来降低系统、铃声、媒体和闹钟的默认音量,以提升用户体验。此外,还涵盖了如何通过系统设置或使用第三方工具来优化屏幕分辨率,确保设备显示效果更加清晰和流畅。 ... [详细]
  • 分享一款基于Java开发的经典贪吃蛇游戏实现
    本文介绍了一款使用Java语言开发的经典贪吃蛇游戏的实现。游戏主要由两个核心类组成:`GameFrame` 和 `GamePanel`。`GameFrame` 类负责设置游戏窗口的标题、关闭按钮以及是否允许调整窗口大小,并初始化数据模型以支持绘制操作。`GamePanel` 类则负责管理游戏中的蛇和苹果的逻辑与渲染,确保游戏的流畅运行和良好的用户体验。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 计算机视觉领域介绍 | 自然语言驱动的跨模态行人重识别前沿技术综述(上篇)
    本文介绍了计算机视觉领域的最新进展,特别是自然语言驱动的跨模态行人重识别技术。上篇内容详细探讨了该领域的基础理论、关键技术及当前的研究热点,为读者提供了全面的概述。 ... [详细]
  • 并发编程入门:初探多任务处理技术
    并发编程入门:探索多任务处理技术并发编程是指在单个处理器上高效地管理多个任务的执行过程。其核心在于通过合理分配和协调任务,提高系统的整体性能。主要应用场景包括:1) 将复杂任务分解为多个子任务,并分配给不同的线程,实现并行处理;2) 通过同步机制确保线程间协调一致,避免资源竞争和数据不一致问题。此外,理解并发编程还涉及锁机制、线程池和异步编程等关键技术。 ... [详细]
author-avatar
Aero-Maxwell
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有