为什么我使用calendar.get(Calendar.DAY_OF_MONTH),获取的天数不是正确的
时间: 2024-05-16 15:13:11 浏览: 108
可能是因为您没有正确设置Calendar对象的日期。请确保在调用`calendar.get(Calendar.DAY_OF_MONTH)`之前,您已经使用`calendar.set(Calendar.YEAR, year)`、`calendar.set(Calendar.MONTH, month)`和`calendar.set(Calendar.DAY_OF_MONTH, day)`等方法正确设置了Calendar对象的年、月和日。例如,如果您想获取2021年9月1日的天数,则应该先执行以下代码:
```
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2021);
calendar.set(Calendar.MONTH, Calendar.SEPTEMBER);
calendar.set(Calendar.DAY_OF_MONTH, 1);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
```
这样,`dayOfMonth`的值应该是1。如果您仍然无法正确获取天数,请提供更多代码和上下文,以便我能够更好地帮助您。
相关问题
calendar.get(Calendar.DAY_OF_MONTH);
这行代码使用 Java 中的 Calendar 类获取当前日期是当月的第几天。具体来说,它会返回一个整数值,表示当前 Calendar 实例所代表的日期对应当月的第几天。例如,如果今天是 2021 年 8 月 1 日,那么这行代码返回的值就是 1。注意,这里使用的是 DAY_OF_MONTH 字段,表示获取月份中的天数,而不是 DAY_OF_WEEK 字段,后者表示获取周中的天数。
calendar.get(Calendar.DAY_OF_MONTH)+10
当你在Java中使用`Calendar`类时,`get(Calendar.DAY_OF_MONTH)`方法会返回给定`Calendar`实例所表示的日期中的月份中的天数。如果你想获取当前日期之后的第10天,你可以按照以下步骤操作:
```java
// 获取当前 Calendar 实例
Calendar calendar = Calendar.getInstance();
// 获取当前月中的天数
int currentDayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
// 将当前天数加10,注意这里直接相加可能会超过当月的最大天数,需要额外处理闰年和平月的情况
calendar.add(Calendar.DAY_OF_MONTH, 10);
// 确保不会超出范围,如果超过了就减去一个月并加上剩余天数
while (calendar.get(Calendar.DAY_OF_MONTH) > calendar.getActualMaximum(Calendar.DAY_OF_MONTH)) {
calendar.add(Calendar.MONTH, -1);
calendar.add(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
}
// 最终得到的是当前月后的第10天
int tenthDayAfterCurrentMonth = calendar.get(Calendar.DAY_OF_MONTH);
```
阅读全文