第八章:日期时间常用类

第八章:日期时间常用类

1.1Date类

​ Date位于Java.util包中,用于表示特定的时间点。

Date中常用的一些方法
Date()创建一个Date对象(new Date())
Date(long millis)使用给定毫秒创建一个Date对象
getTime()返回从1970年1月1日到今天为止的毫秒总和
getYear()从1900年开始计算到给定对象的日期的年数差
getMonth()返回0-11的月份(用下标计算的月份)
getDate()返回一个月(当前对象)中的某一天(从1开始)
getHours()返回小时数(当前对象)
getMinutes()返回分钟数(当前对象)
getSeconds()返回秒数(当前对象)
setTime()设置(当前对象)为指定的毫秒数
setYear()设置年份(当前对象)
setMonth()设置(当前对象)为指定的月份(设置的是下标0-11)
setDate()设置当前时间(按毫秒计算)
setHours()设置当前时间(小时)
setMinutes()设置当前时间(分钟)
setSeconds()设置秒数(当前对象)

​ Date类中的很多方法都别标记为过时的,不推荐使用,原因是因为这些方法是非线程安全的,年份从1900年开始计算等。建议使用新的API,如java.time包中的类

1.2格式化Date对象

​ 要格式化一个Date对象,可以使用SimpleDateFormat类来制定所需要的日期和时间格式。

方法描述
SimpleDateFormat(String pattern)用于创建一个 SimpleDateFormat
format(Date date)将给定的Date对象格式化为字符串,使用制定的格式
parse(String source)将给定的Date对象格式化为Date对象,是用制定的格式
applyPattern(String pattern)设置格式化模式,用于指定日期和时间的格式
toPattern()返回当前的格式化模式

在这里插入图片描述

1.3Calendar类

Calendar类是Java中用于处理日期和时间的类,位于java.util包中。它提供了一种比Date类更加灵活和功能强大的日期和时间操作方式

常用方法解释
Calendar.ERA对应纪元比如罗马儒略历中的 AD 或 BC ( 中文表示为 公元 或 公元前 )
Calendar.YEAR对应年份
Calendar.MONTH对应月份,月份从 0 开始计数,0 表示 January (一月),1 表示 February ( 二月 )
Calendar.DATE对应月份中的日期日期从 1 开始计数,有效范围为 1 ~ 31 。
Calendar.HOUR_OF_DAY对应一天当中的小时,小时从 0 开始计数,有效范围为 0 ~ 23 。
Calendar.MINUTE对应分钟,分钟从 0 开始计数,有效范围为 0 ~ 59 。
Calendar.SECOND对应秒,秒数从 0 开始计数,有效范围为 0 ~ 60 。(要注意闰秒)
Calendar.MILLISECOND对应毫秒,毫秒数从 0 开始计数,有效范围为 0 ~ 999 。
Calendar.DAY_OF_MONTH对应月份中的日期,日期从 1 开始计数,有效范围为 1 ~ 31 。
Calendar.HOUR对应上午或下午的小时小时从 0 开始计数,有效范围为 0 ~ 11 。
Calendar.DAY_OF_WEEK对应星期用于指示一个星期中的某天。该字段可取的值可以是 SUNDAY 、 MONDAY 、 TUESDAY 、 WEDNESDAY 、 THURSDAY 、FRIDAY 和 SATURDAY 。
Calendar.DAY_OF_YEAR对应年份中的天数,指示当前年中的天数。一年中第一天的值为 1,最大值为 366 。
Calendar.AM表示一天午夜到中午之前的时间,即上午
Calendar.PM表示从中午到午夜之前的一天中的一段时间,即下午

1.4LocalDate类

LocalDate类是Java中的一个日期类,它提供了处理日期的方法和功能。其于 java.time包中,从JDK8开始引入

常用方法
public int getYear()用于获取年份
public int getMonthValue()用于获取月份 ( 取值范围是 1 ~ 12 )
public int getDayOfMonth()用于获取日期 ( 取值范围是 1 ~ 31 )
public DayOfWeek getDayOfWeek() 用于获取星期 ( 返回类型为 DayOfWeek )
public boolean isLeapYear()用于判断 LocalDate 实例对应的年份是否是闰年
public int lengthOfYear()用于获取 LocalDate 实例对应的年份的总天数
public int lengthOfMonth()用于获取 LocalDate 实例对应的月份的总天数

1.5LocalTime类

LocalTime类是JDK8引入的日期类,位于 java.time包中,它用于表示时间,提供了处理时间相关操作的方法

常用的方法
public int getHour()用于获取小时 (取值范围为 0 ~ 23 )
public int getMinute()用于获取分钟 (取值范围为 0 ~ 59 )
public int getSecond()用于获取秒 (取值范围为 0 ~ 59 )
public int getNano()用于获取纳秒 (取值范围为 0 ~ 999999999 )

1.6LocalDateTime类

LocalDateTime类是JDK8引入的日期类,位于 java.time包中,它结合了 LocalDateLocalTime的功能,用于表示时间和日期的组合。

1.7互相转换

​ 要在Date对象和LocalDate对象之间进行相互转换,可以使用 Java.util.Datejava.time.LocalDate类的方法。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值