java获取每月最后一天
时间: 2023-05-12 19:06:40 浏览: 93
可以使用 Calendar 类来获取每月最后一天的日期,具体代码如下:
```java
import java.util.Calendar;
public class LastDayOfMonth {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
int year = 2021;
int month = 8; // 8表示9月份,因为月份从0开始计数
calendar.set(year, month, 1); // 将日期设置为当月的第一天
int lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); // 获取当月最后一天的日期
System.out.println("2021年9月份的最后一天是:" + lastDay + "日");
}
}
```
输出结果为:
```
2021年9月份的最后一天是:30日
```
相关问题
java scheduled 每月最后一天
可以使用 Java 的 ScheduledExecutorService 结合 Calendar 类来实现每月最后一天的定时任务。以下是示例代码:
```
import java.util.Calendar;
import java.util.Date;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class LastDayOfMonthTask {
public static void main(String[] args) {
// 创建 ScheduledExecutorService
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
// 获取当前时间
Calendar now = Calendar.getInstance();
int currentMonth = now.get(Calendar.MONTH);
// 计算下个月的最后一天
int nextMonth = (currentMonth + 1) % 12;
now.set(Calendar.MONTH, nextMonth);
int lastDay = now.getActualMaximum(Calendar.DAY_OF_MONTH);
// 计算定时任务执行的时间
now.set(Calendar.DAY_OF_MONTH, lastDay);
now.set(Calendar.HOUR_OF_DAY, 0);
now.set(Calendar.MINUTE, 0);
now.set(Calendar.SECOND, 0);
Date scheduledTime = now.getTime();
// 执行定时任务
executor.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
// TODO: 在这里编写每个月最后一天要执行的任务
}
}, scheduledTime.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS), TimeUnit.MILLISECONDS);
}
}
```
这段代码会计算下个月的最后一天,并且在该天凌晨执行定时任务。你可以在 `Runnable` 的 `run` 方法中编写每个月最后一天要执行的任务。
java 获取当前月每一天
以下是一个示例代码,可以获取当前月份的每一天:
```
import java.time.LocalDate;
import java.time.YearMonth;
public class Main {
public static void main(String[] args) {
YearMonth yearMonth = YearMonth.now(); // 获取当前年月
int daysInMonth = yearMonth.lengthOfMonth(); // 获取当前月份的天数
for (int day = 1; day <= daysInMonth; day++) {
LocalDate date = yearMonth.atDay(day); // 获取当前年月的第day天
System.out.println(date);
}
}
}
```
该代码使用了Java 8的日期和时间API,在YearMonth类中获取当前年月,然后使用atDay()方法获取每一天的日期对象。最后,使用循环打印出每一天的日期对象。
阅读全文