在 Java 中使用 LocalDate 翻转日期的月份?

2022-01-11 00:00:00 date calendar java

我正在用 java 设计一个预订系统,它只需要处理 2015 年的日期并使用 LocalDate 类,预订由开始日期和持续时间组成,例如2015 年 5 月 26 日:7 是从 2015 年 5 月 26 日开始的预订,为期 7 天,{26,27,28,29,30,31} 五月和 {1}st Jun.如果我说生成无论如何,我的带有循环的日期是否可以得到正确的月份翻转?所以日期不会说是 5 月 32 日,而是 6 月 1 日.

I am designing a booking system in java that only has to handle dates for the year 2015 and using the LocalDate class, a booking consists of a start date and a duration e.g. 2015, 5, 26: 7 would be a booking starting on 26 may 2015 for a duration of 7 days, {26,27,28,29,30,31} May and the {1}st Jun. If i am say generating my dates with a loop is there anyway to get the correct roll over of the month?, so the date won't say be 32nd of May but instead 1st Jun.

        int initialDate=26;
        int initialMonth=5; 
        int duration= 7; 
        int endDate= initialDate+duration; 
        LocalDate date; 

        while(initialDate<=endDate){
            date=LocalDate.of(2015, initialMonth, initialDate); 
            System.out.println(date.getDayOfMonth());
            initialDate++; 
        }

推荐答案

假设您使用的是 Java 8,为什么不使用 LocalDate#plusDays?

Assuming you're using Java 8, why not use LocalDate#plusDays?

LocalDate startDate = LocalDate.of(2015, 5, 26);
LocalDate endDate = startDate.plusDays(7);

System.out.println(endDate);

哪个输出2015-06-02

相关文章