Java 判断传入时间到传入月份最后一天还剩几天,及对应天数
时间: 2023-08-16 17:06:59 浏览: 47
可以使用 `java.time` 包中的类来实现。具体步骤如下:
1. 将传入的时间转化为 `LocalDate` 对象
2. 获取传入时间所在月份的最后一天日期
3. 计算传入时间到月份最后一天相差的天数
代码实现如下:
```java
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class LastDayOfMonth {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2021, 4, 15); // 传入时间
LocalDate lastDayOfMonth = date.withDayOfMonth(date.lengthOfMonth()); // 月份最后一天日期
long daysLeft = ChronoUnit.DAYS.between(date, lastDayOfMonth); // 相差天数
System.out.println("传入时间到月份最后一天还剩 " + daysLeft + " 天");
}
}
```
输出结果为:
```
传入时间到月份最后一天还剩 15 天
```
如果需要获取每个剩余天数对应的文字描述,可以使用 switch 语句进行判断,例如:
```java
String daysLeftDesc = "";
switch((int) daysLeft) {
case 0:
daysLeftDesc = "今天就是月份最后一天";
break;
case 1:
daysLeftDesc = "明天就是月份最后一天";
break;
case 2:
daysLeftDesc = "后天就是月份最后一天";
break;
default:
daysLeftDesc = "还有 " + daysLeft + " 天就是月份最后一天";
break;
}
System.out.println(daysLeftDesc);
```
输出结果为:
```
还有 15 天就是月份最后一天
```