Java中日期处理--LocalDate类

0 写在前面

Java中存在一个日历表示法的类库–>LocalDate类。
如果只想要指定的年月日就可以用这个LocalDate类。

1 介绍

LocalDate是Java8的新特性,他是一个全新的日期时间API。
LocalDate:

static LocalDate now() 构造一个表示当前日期的对象

static LocalDate of(int year , int month ,int day)  构造一个标识给定日期的对象

int getYear()/int getMonthValue()/int getDayOfMonth()  得到当前日期的年、月和日。

DayOfWeek getDayOfWeek  得到当前日期是星期几,作为DayOf类的一个实例返回,调用getValue来得到1~7之间的一个数,表示这是星期几,1表示星期一,7表示星期日

LocalDate plusDays(int n)  生成当前日期后n天的日期

LocalDate minusDays(int n)  生成当前日期前n天的日期


特点:不要使用构造器来构造LocalDate类的对象,应当使用静态工厂方法。

2 举例

直接上代码:

import java.time.DayOfWeek;
import java.time.LocalDate;

public class TestLocalDate {
    public static void main(String[] args) {
        LocalDate nowDate = LocalDate.now();//获取当前时间

        System.out.println("当前日期为:"+nowDate);//输出当前时间:2022-11-30

        LocalDate ofDate = LocalDate.of(2001, 02, 17);//构造时间为2001-02-17

        System.out.println("构造ofDate日期为"+ofDate);//输出时间:2001-02-17

        int ofDateYear = ofDate.getYear();//获取ofDate的年份是多少
        int nowYear = nowDate.getYear();
        System.out.println("ofDate的所处年份为:"+ofDateYear);//输出2001
        System.out.println("今年的年份为:"+nowYear);//输出2022

        DayOfWeek dayOfWeek = ofDate.getDayOfWeek();//得到ofDate的日期是在周几

        System.out.println(dayOfWeek);//输出周几

        LocalDate plusYear = ofDate.plusDays(400);//得到ofDate的日期的后400天是哪一天、
        LocalDate minusYear = nowDate.minusDays(800);//得到当前日期的前800天是哪一天

        System.out.println(ofDate+"后400天的日期为:"+plusYear);
        System.out.println(nowDate+"前800天的日期为:"+minusYear);
    }
}

运行截图:
在这里插入图片描述

3 写在后面

LocaDate中:

Temporal adjustInto(Temporal temporal) 调整指定的时间对象,以具有此对象的相同日期。  
LocalDateTime atStartOfDay() 结合这个日期与午夜的时间创建一个 LocalDateTime在这个日期开始。  
ZonedDateTime atStartOfDay(ZoneId zone) 根据时区的规则,在最早的有效时间内返回一个分区的时间。  
LocalDateTime atTime(int hour, int minute) 结合这个日期与时间创建一个 LocalDateTimeLocalDateTime atTime(int hour, int minute, int second) 结合这个日期与时间创建一个 LocalDateTimeLocalDateTime atTime(int hour, int minute, int second, int nanoOfSecond) 结合这个日期与时间创建一个 LocalDateTimeLocalDateTime atTime(LocalTime time) 结合这个日期与时间创建一个 LocalDateTimeOffsetDateTime atTime(OffsetTime time) 结合这个日期与时间偏移来创建一个 OffsetDateTimeint compareTo(ChronoLocalDate other) 将此日期与另一个日期进行比较。  
boolean equals(Object obj) 检查此日期是否等于另一个日期。  
String format(DateTimeFormatter formatter) 使用指定的格式的日期格式。  
static LocalDate from(TemporalAccessor temporal) 获得 LocalDate实例从一个时空对象。  
int get(TemporalField field) 获取指定字段的值,从这个日期作为一个 intIsoChronology getChronology() 获取此日期的日期,这是国际标准化组织的日历系统。  
int getDayOfMonth() 获取月字段的一天。  
DayOfWeek getDayOfWeek() 获取星期域,这是一个枚举 DayOfWeekint getDayOfYear() 获取一年的日子。  
Era getEra() 获取在这个日期适用的时代。  
long getLong(TemporalField field) 获取指定字段的值,从这个日期作为 longMonth getMonth() 得到月年田间使用 Month枚举。  
int getMonthValue()112得到一个月的时间字段。  
int getYear() 获取年度字段。  
int hashCode() 此日期的哈希代码。  
boolean isAfter(ChronoLocalDate other) 检查此日期是否在指定日期之后。  
boolean isBefore(ChronoLocalDate other) 检查此日期是否在指定日期之前。  
boolean isEqual(ChronoLocalDate other) 检查此日期是否等于指定日期。  
boolean isLeapYear() 检查,如果今年是闰年,根据ISO预期历法系统规则。  
boolean isSupported(TemporalField field) 检查指定字段是否被支持。  
boolean isSupported(TemporalUnit unit) 检查指定的单位是否被支持。  
int lengthOfMonth() 返回此日期所表示的月份的长度。  
int lengthOfYear() 返回此日期所表示的年份的长度。  
LocalDate minus(long amountToSubtract, TemporalUnit unit) 返回此日期的一个副本,用指定的金额减去。  
LocalDate minus(TemporalAmount amountToSubtract) 返回此日期的一个副本,用指定的金额减去。  
LocalDate minusDays(long daysToSubtract) 返回一份本 LocalDate与指定的天数减去。  
LocalDate minusMonths(long monthsToSubtract) 返回一份本 LocalDate与指定期个月减去。  
LocalDate minusWeeks(long weeksToSubtract) 返回一份本 LocalDate在周中减去指定的时间。  
LocalDate minusYears(long yearsToSubtract) 返回一份本 LocalDate与指定期在年中减去。  
static LocalDate now() 在默认时区中从系统时钟获取当前日期。  
static LocalDate now(Clock clock) 从指定的时钟获取当前日期。  
static LocalDate now(ZoneId zone) 从指定时区中的系统时钟中获取当前日期。  
static LocalDate of(int year, int month, int dayOfMonth) 获得 LocalDate实例从一年、月、日。  
static LocalDate of(int year, Month month, int dayOfMonth) 获得 LocalDate实例从一年、月、日。  
static LocalDate ofEpochDay(long epochDay) 获得 LocalDate实例从时代的日数。  
static LocalDate ofYearDay(int year, int dayOfYear) 获得 LocalDate实例从一年一年。  
static LocalDate parse(CharSequence text) 获得 LocalDate实例从一个文本字符串,如 2007-12-03static LocalDate parse(CharSequence text, DateTimeFormatter formatter) 获得 LocalDate实例从使用特定格式的文本字符串。  
LocalDate plus(long amountToAdd, TemporalUnit unit) 返回此日期的一个副本,添加指定的金额。  
LocalDate plus(TemporalAmount amountToAdd) 返回此日期的一个副本,添加指定的金额。  
LocalDate plusDays(long daysToAdd) 返回一份本 LocalDate与指定的天数增加。  
LocalDate plusMonths(long monthsToAdd) 返回一份本 LocalDate在月期添加指定的。  
LocalDate plusWeeks(long weeksToAdd) 返回一份本 LocalDate在周指定期间补充。  
LocalDate plusYears(long yearsToAdd) 返回一份本 LocalDate年指定期间补充。  
<R> R query(TemporalQuery<R> query) 使用指定的查询查询此日期。  
ValueRange range(TemporalField field) 获取指定字段的有效值的范围。  
long toEpochDay() 将此日期转换为新纪元日。  
String toString() 输出该日期作为 String,如 2007-12-03Period until(ChronoLocalDate endDateExclusive) 计算这个日期和日期之间的时间作为一个 Periodlong until(Temporal endExclusive, TemporalUnit unit) 计算时间的量,直到指定单元的另一个日期为止。  
LocalDate with(TemporalAdjuster adjuster) 返回此日期的调整副本。  
LocalDate with(TemporalField field, long newValue) 将此日期的一个副本与指定的字段设置为一个新值。  
LocalDate withDayOfMonth(int dayOfMonth) 返回此日期的副本与月更改日期。  
LocalDate withDayOfYear(int dayOfYear) 返回此日期的副本与一年的日期更改。  
LocalDate withMonth(int month) 返回此日期的副本与更改的月份。  
LocalDate withYear(int year) 返回此日期的副本与年更改。  

有兴趣的伙伴可以手动测试以上功能。
以上所有从java8参考文档找到的,可以放心使用。

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值