在 Java 中,计算当前日期减去一个月可以使用不同的方式来实现。下面我将介绍三种常见的实现方式,包括使用 Java 8 的 java.time
库、使用 Joda-Time 库以及使用 Apache Commons Lang 库。
注意: 由于我无法直接执行代码或提供完整的 Maven/Gradle 依赖坐标,我将提供代码示例以及对应的库依赖信息,您可以根据示例自行添加依赖到您的项目中。
import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
LocalDate currentDate = LocalDate.now();
LocalDate oneMonthAgo = currentDate.minusMonths(1);
System.out.println("Current Date: " + currentDate);
System.out.println("One Month Ago: " + oneMonthAgo);
}
}
Maven 依赖:
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.27</version>
</dependency>
Gradle 依赖:
implementation 'org.openjdk.jmh:jmh-core:1.27'
import org.joda.time.DateTime;
import org.joda.time.Months;
public class Main {
public static void main(String[] args) {
DateTime currentDate = DateTime.now();
DateTime oneMonthAgo = currentDate.minusMonths(1);
System.out.println("Current Date: " + currentDate);
System.out.println("One Month Ago: " + oneMonthAgo);
}
}
Maven 依赖:
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.11</version>
</dependency>
Gradle 依赖:
implementation 'joda-time:joda-time:2.10.11'
import org.apache.commons.lang3.time.DateUtils;
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
Date currentDate = new Date();
Date oneMonthAgo = DateUtils.addMonths(currentDate, -1);
System.out.println("Current Date: " + currentDate);
System.out.println("One Month Ago: " + oneMonthAgo);
}
}
Maven 依赖:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
Gradle 依赖:
implementation 'org.apache.commons:commons-lang3:3.12.0'
这些示例演示了如何使用不同的库来计算当前日期减去一个月后的日期。根据您的项目需求和偏好,您可以选择其中一种方式来实现。记得将相应的库依赖添加到您的项目中,以便能够成功编译和运行这些示例。