改造为获取前一个月
时间: 2024-02-09 09:13:11 浏览: 25
为了获取前一个月的时间戳,可以使用Java 8中的日期时间API或者旧版的日期时间API。具体实现方式如下:
方法一:使用Java 8中的日期时间API
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Example {
public static void main(String[] args) {
LocalDate today = LocalDate.now(); // 获取当前日期
LocalDate lastMonth = today.minusMonths(1); // 当天的前1个月
String formattedDate = lastMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); // 格式化日期
System.out.println(formattedDate); // 输出格式化后的日期
long lastMonthTimestamp = lastMonth.atStartOfDay().toEpochSecond(ZoneOffset.of("+8")); // 获取前一个月的时间戳
System.out.println(lastMonthTimestamp); // 输出前一个月的时间戳
}
}
```
方法二:使用Java旧版日期时间API
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Example {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance(); // 获取当前时间
calendar.add(Calendar.MONTH, -1); // 当天的前1个月
Date lastMonth = calendar.getTime(); // 获取前一个月的日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 格式化日期
String formattedDate = sdf.format(lastMonth); // 格式化日期
System.out.println(formattedDate); // 输出格式化后的日期
long lastMonthTimestamp = lastMonth.getTime() / 1000; // 获取前一个月的时间戳
System.out.println(lastMonthTimestamp); // 输出前一个月的时间戳
}
}
```
以上两种方法都可以获取前一个月的时间戳。其中,方法一使用Java 8中的日期时间API,代码简洁易懂,推荐使用;方法二使用Java旧版日期时间API,代码略显复杂,但可以兼容旧版Java。