关于LocalDate的使用

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;



public class LocalDateTest {


    public static void main(String[] args) {


        //当前日期
        LocalDate localDate = LocalDate.now();


        LocalDate localDate1 = LocalDate.of(2017, 11, 10);
        //也可以通过parse定义
        //LocalDate now3 = LocalDate.parse("2018-01-12");

        LocalDate localDate2 = LocalDate.of(2017, 11, 10);
        //当前的年
        System.out.println(localDate.getYear());
        //当前的月份
        System.out.println(localDate.getMonth());
        //当前的月份
        System.out.println(localDate.getMonthValue());
        //当前日期是星期几
        System.out.println(localDate.getDayOfWeek());
        //当前的天数在一年中是第几天
        System.out.println(localDate.getDayOfYear());
        //当前日期是这个月的第几天
        System.out.println(localDate.getDayOfMonth());
        //每个月的天数
        System.out.println(localDate.lengthOfMonth());
        //这一年有多少天
        System.out.println(localDate.lengthOfYear());
        //是否是闰年
        System.out.println(localDate.isLeapYear());
        //当前日期减一个月
        System.out.println(localDate.minusMonths(1));
        //当前日期减一年
        System.out.println(localDate.minusYears(1));
        //当前日期减一个星期
        System.out.println(localDate.minusWeeks(1));
        System.out.println(localDate.MIN);


        System.out.println(localDate.MAX);
        //时间的判断判断先后
        System.out.println(localDate.isBefore(localDate.minusMonths(1)));
        System.out.println(localDate.isBefore(localDate.plusMonths(1)));
        System.out.println(localDate.isAfter(localDate1));


        //修改指定本地日期,获取新的对象,在原来的对象上指定时间修改
        LocalDate localdate1 = localDate.withDayOfMonth(1);
        LocalDate localdate2 = localDate.withDayOfYear(1);
        LocalDate localdate3 = localDate.withMonth(1);
        LocalDate localdate4 = localDate.withYear(2018);


        System.out.println(localdate1);
        System.out.println(localdate2);
        System.out.println(localdate3);
        System.out.println(localdate4);


        LocalDate today = LocalDate.now();
        // 取本月第1天:
        LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth());
        // 取本月第2天:
        LocalDate secondDayOfThisMonth = today.withDayOfMonth(2);
        // 取本月最后一天,再也不用计算是28,29,30还是31:
        LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth());
        // 取下一天:
        LocalDate firstDayOf2015 = lastDayOfThisMonth.plusDays(1); 
        // 取2017年1月第一个周一
        LocalDate firstMondayOf2015 = LocalDate.parse("2017-01-01").with(
            TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)); 
        //比较二个时间是否相等
        System.out.println(localDate1.equals(localDate2));
        System.out.println(localDate1.equals(localdate2));


        //比较二个时间的大小,返回是年,月,日的天数的差值
        System.out.println(localDate1.compareTo(localDate2));
        System.out.println(localDate1.compareTo(localdate2));


        //二个日期相差的天数,年,月,等
        long days = localdate2.until(localdate4, ChronoUnit.DAYS);
        long hour = localdate2.until(localdate4, ChronoUnit.YEARS);
        System.out.println(days);
        System.out.println(hour);


    }


}
getYear()    int    获取当前日期的年份

getMonth()    Month    获取当前日期的月份对象

getMonthValue()    int    获取当前日期是第几月

getDayOfWeek()    DayOfWeek    表示该对象表示的日期是星期几

getDayOfMonth()    int    表示该对象表示的日期是这个月第几天

getDayOfYear()    int    表示该对象表示的日期是今年第几天

withYear(int year)    LocalDate    修改当前对象的年份

withMonth(int month)    LocalDate    修改当前对象的月份

withDayOfMonth(int dayOfMonth)    LocalDate    修改当前对象在当月的日期

isLeapYear()    boolean    是否是闰年

lengthOfMonth()    int    这个月有多少天

lengthOfYear()    int    该对象表示的年份有多少天(365或者366)

plusYears(long yearsToAdd)    LocalDate    当前对象增加指定的年份数

plusMonths(long monthsToAdd)    LocalDate    当前对象增加指定的月份数

plusWeeks(long weeksToAdd)    LocalDate    当前对象增加指定的周数

plusDays(long daysToAdd)    LocalDate    当前对象增加指定的天数

minusYears(long yearsToSubtract)    LocalDate    当前对象减去指定的年数

minusMonths(long monthsToSubtract)    LocalDate    当前对象减去注定的月数

minusWeeks(long weeksToSubtract)    LocalDate    当前对象减去指定的周数

minusDays(long daysToSubtract)    LocalDate    当前对象减去指定的天数

compareTo(ChronoLocalDate other)    int    比较当前对象和other对象在时间上的大小,返回值如果为正,则当前对象时间较晚,

isBefore(ChronoLocalDate other)    boolean    比较当前对象日期是否在other对象日期之前

isAfter(ChronoLocalDate other)    boolean    比较当前对象日期是否在other对象日期之后

isEqual(ChronoLocalDate other)    boolean    比较两个日期对象是否相等

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值