Java中的常用时间日期类总结(Date、DateFormat)

 更新时间:2024年08月19日 09:21:45   作者:Serendipity•  
在Java开发中处理时间和日期是相当常见的任务,无论是计算日期差异、格式化日期显示、解析日期字符串还是进行日期计算,都需要一些时间和日期处理的技巧,这篇文章主要给大家介绍了关于Java中常用时间日期类(Date、DateFormat)的相关资料,需要的朋友可以参考下

1. Date类

1.1 概述

计算机中时间原点:1970年1月1日00:00:00

时间换算单位:1秒 = 1000毫秒

Date代表了一个特定的时间,精确到毫秒

1.2 方法

构造方法:

演示代码:

//public Date()
Date d1 = new Date();
//pubic Date(long date)
long date = 1000*60*60
Date d2 = new Date(date);

常用方法:

演示代码:

//public long getTime()
Date d = new Date();
d.getTime();
//public void setTime(long time)
long time = System.currentTimeMillis();
d.setTime(time);

1.3 SimpleDateFormat类

概述:SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。

构造方法:

常用方法:

格式化(从Date到String)

public final String format(Date date)//将日期格式化为时间字符串。

解析(从String到Date)

public Date parse(String source)//从给定的字符串开始解析文本为日期

2. LocaDateTime类

2.1 分类

LocaDate 表示日期(年月日)

LocalTime 表示时间(时分秒)

LOvalDateTime 表示时间+日期(年月日时分秒)

2.2 LocalDateTime创建方法

方法:

演示代码:

//public static LocalDateTime now();
LocalDateTime now = LocalDateTime.now();
//public static LocalDateTime of(年,月,日,时,分,秒)
LocalDateTime localDateTime = LocalDateTime.of(2000,11,11,,11,11,11);

2.3 LocalDateTime获取方法

方法说明:

2.4 LocalDateTime转换方法

方法说明:

2.5 LocalDateTime格式化和解析

方法说明:

演示代码:

//public String format(指定格式)
LocalDateTime localDateTime = LocalDateTimme.of(2020,12,12)
//public static DateTimeFormatter ofPattern(String pattern)
DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String s = localDateTime.format(pattern);
//public LocalDateTime parse(解析字符串,解析格式)
String s = "2020年12月12日";
DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDateTime parse = LocalDateTime.parse(s,pattern);

2.6 LocalDateTime增加或减少时间方法

方法说明:

2.7 LocalDateTime减少或增加时间方法

方法说明:

2.8 LocalDateTime修改方法

说明方法:

3. Period和Duration

Period方法说明:

演示代码:

//public static Period between(开始时间,结束时间)  计算两个"时间"的间隔
LocalDate localDate1 = LocalDate.of(2020, 1, 1);
LocalDate localDate2 = LocalDate.of(2048, 12, 12);
Period period = Period.between(localDate1, localDate2);
System.out.println(period);//P28Y11M11D

//public int getYears()         获得这段时间的年数
System.out.println(period.getYears());//28
//public int getMonths()        获得此期间的月数
System.out.println(period.getMonths());//11
//public int getDays()          获得此期间的天数
System.out.println(period.getDays());//11

//public long toTotalMonths()   获取此期间的总月数
System.out.println(period.toTotalMonths());//347

Duration方法说明:

演示说明:

//public static Duration between(开始时间,结束时间)  计算两个“时间"的间隔

LocalDateTime localDateTime1 = LocalDateTime.of(2020, 1, 1, 13, 14, 15);
LocalDateTime localDateTime2 = LocalDateTime.of(2020, 1, 2, 11, 12, 13);
Duration duration = Duration.between(localDateTime1, localDateTime2);
System.out.println(duration);//PT21H57M58S
//public long toSeconds()	 获得此时间间隔的秒
System.out.println(duration.toSeconds());//79078
//public int toMillis()	     获得此时间间隔的毫秒
System.out.println(duration.toMillis());//79078000
//public int toNanos()       获得此时间间隔的纳秒
System.out.println(duration.toNanos());//79078000000000

4. 总结

LocalDate 和 Date 的区别:

java.util.Date是Java旧版的日期和时间类,而java.time.LocalDate是Java 8中引入的新日期API的一部分。

java.util.Date是可变的,并且不是线程安全的,而java.time.LocalDate是不可变的和线程安全的。

java.util.Date表示一个时间戳,同时包含日期和时间信息,而java.time.LocalDate仅表示日期信息,不包含时间。

java.util.Date中的方法大多已被废弃,而java.time.LocalDate提供了一组新的方法来操作日期,更符合现代编程习惯。

到此这篇关于Java中常用时间日期类(Date、DateFormat)的文章就介绍到这了,更多相关Java时间日期类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java实现图片用Excel画出来

    java实现图片用Excel画出来

    这篇文章主要为大家详细介绍了java实现图片用Excel画出来,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Lock、Condition实现简单的生产者消费者模式示例

    Lock、Condition实现简单的生产者消费者模式示例

    这篇文章主要介绍了Lock、Condition实现简单的生产者消费者模式示例,需要的朋友可以参考下
    2014-04-04
  • Java Unsafe学习笔记分享

    Java Unsafe学习笔记分享

    今天小编就为大家分享一篇Java Unsafe学习笔记,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java之WeakHashMap源码浅析

    Java之WeakHashMap源码浅析

    这篇文章主要介绍了Java之WeakHashMap源码浅析,WeakHashMap从名字可以得知主要和Map有关,不过还有一个Weak,我们就更能自然而然的想到这里面还牵扯到一种弱引用结构,因此想要彻底搞懂,我们还需要知道四种引用,需要的朋友可以参考下
    2023-09-09
  • Java 仿天猫服装商城系统的实现流程

    Java 仿天猫服装商城系统的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+jsp+mysql+maven实现一个仿天猫服装商城系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • Java 注解底层逻辑流程分析

    Java 注解底层逻辑流程分析

    注解的类型本质上是一个特殊接口,Java 语法强制规定所有注解类型都会自动继承 java.lang.annotation.Annotation 接口,本文给大家介绍Java注解底层逻辑流程分析,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2025-10-10
  • SimpleDateFormat格式化日期问题

    SimpleDateFormat格式化日期问题

    这篇文章主要介绍了SimpleDateFormat格式化日期问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • spring boot实战之内嵌容器tomcat配置

    spring boot实战之内嵌容器tomcat配置

    本篇文章主要介绍了Spring Boot 使用内嵌的tomcat容器配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Java Stream 流实现合并操作示例

    Java Stream 流实现合并操作示例

    这篇文章主要介绍了Java Stream 流实现合并操作,结合实例形式详细分析了Java Stream 流实现合并操作原理与相关注意事项,需要的朋友可以参考下
    2020-05-05
  • Java OpenCV图像处理之仿射变换,透视变换,旋转详解

    Java OpenCV图像处理之仿射变换,透视变换,旋转详解

    这篇文章主要为大家详细介绍了Java OpenCV图像处理中仿射变换,透视变换,旋转的实现,文中的示例代码讲解详细,快跟随小编一起学习一下
    2022-10-10

最新评论