Java 根据当前年月获取上一个月的年月
时间: 2023-09-02 15:10:18 浏览: 306
要根据当前年月获取上一个月的年月,可以使用 Java 中的 Calendar 类来实现。以下是一个示例代码:
```java
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1); // 将当前日期减去一个月
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // 月份从 0 开始,需要加 1
System.out.println("上一个月的年月为:" + year + "-" + month);
}
}
```
运行以上代码,将输出上一个月的年月,格式为 "年-月"。请注意,如果当前月份是一月份,则会返回上一年的十二月份。
希望能对您有所帮助!如果您有其他问题,请随时提问。
相关问题
java实现:获取当前年月日,获取当前年月日上个月的第一天的日期和上个月最后一天的日期
在Java中,你可以使用`java.time`包下的`LocalDate`类以及其相关的API来获取当前日期、上个月第一天和最后一天的日期。以下是相应的代码示例:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class DateExample {
public static void main(String[] args) {
// 获取当前日期
LocalDate currentDate = LocalDate.now();
System.out.println("当前日期: " + currentDate);
// 上个月第一天
int year = currentDate.getYear(); // 获取当前年份
int month = currentDate.getMonthValue() - 1; // 减一得到上个月的月份,因为从0开始计数
if (month == 0) { // 如果是1月,调整到12月
month = 11;
year--;
}
LocalDate lastMonthFirstDay = LocalDate.of(year, month, 1);
System.out.println("上个月第一天: " + lastMonthFirstDay);
// 上个月最后一天
lastMonthLastDay = lastMonthFirstDay.plusMonths(1).minusDays(1); // 上个月的第一天加一个月再减一天
System.out.println("上个月最后一天: " + lastMonthLastDay);
// 格式化日期展示
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
System.out.println("formatted dates:");
System.out.println(lastMonthFirstDay.format(formatter));
System.out.println(lastMonthLastDay.format(formatter));
}
}
```
这个程序首先获取当前日期,然后计算出上个月的第一天和最后一天,并使用`DateTimeFormatter`将它们格式化为字符串。
java 获取当前年月字符串
您好!您可以使用Java中的SimpleDateFormat类来获取当前年月字符串。
示例代码如下:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class Example {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String dateStr = sdf.format(new Date());
System.out.println(dateStr);
}
}
```
执行后会输出当前的年月字符串,例如:2022-01。希望能对您有所帮助!
阅读全文