Java如何在下月时间获得下个月的第一天?

本示例将为您提供当前系统日期之后的下个月的第一天。在示例中,我们使用MutableDateTime类。MutableDateTime是一个日期时间类,其值可以修改。

在代码片段中,我们从创建MutableDateTime类的实例开始。使用该addMonths()方法,我们将从当前日期开始增加1月。我们使用setDayOfMonth()方法将月份的日期设置为第一天。为了确保这是第一天,我们通过调用setMillisOfDay()方法将时间设置为午夜。

package org.nhooo.example.joda;

import org.joda.time.MutableDateTime;

public class FirstDayOfNextMonth {
    public static void main(String[] args) {
        // 为当前创建MutableDateTime的实例
        // 系统日期时间。
        MutableDateTime dateTime = new MutableDateTime();
        System.out.println("Current date            = " + dateTime);

        // 查找下个月的第一天可以通过以下方式完成:
        // 1.在日期上加上1月
        // 2.将月份中的日期设置为1
        // 3.将天的毫秒数设置为0。
        dateTime.addMonths(1);
        dateTime.setDayOfMonth(1);
        dateTime.setMillisOfDay(0);
        System.out.println("First day of next month = " + dateTime);
    }
}

这是该程序的示例结果:

Current date            = 2019-07-22T13:33:18.018+08:00
First day of next month = 2019-08-01T00:00:00.000+08:00

Maven依赖

<!-- https://search.maven.org/remotecontent?filepath=joda-time/joda-time/2.10.3/joda-time-2.10.3.jar -->
<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.10.3</version>
</dependency>

Maven中央