cal.get(Calendar.DAY_OF_MONTH);
时间: 2024-06-03 12:08:14 浏览: 96
This line of code retrieves the value of the current day of the month from a Calendar object named "cal". The returned value is an integer between 1 and 31, representing the day of the month.
相关问题
for(int day = 1; day <= day_of_this_month; day++){ cal.set(year, month, day); System.out.print(cal.get(Calendar.DAY_OF_MONTH) + "\t");什么意思
这是一个Java的for循环语句,它的作用是遍历一个月的所有日期。其中:
- `day` 是循环变量,初始值为1,每次循环后递增1,直到大于等于本月最后一天的日期。
- `day_of_this_month` 是本月最后一天的日期,可以通过Java的Calendar类获取。
- `cal` 是一个Calendar对象,用于表示当前日期。
- `System.out.print()` 是输出函数,将当前日期的日期部分打印到控制台上。
- `cal.get(Calendar.DAY_OF_MONTH)` 返回当前日期的日期部分,即本月的第几天。`\t` 是制表符,用于在输出时对齐。
因此,这段代码的作用是将本月的所有日期打印到控制台上,并以制表符分隔。
public static int getAge(Date birth) { Calendar cal = Calendar.getInstance(); int thisYear = cal.get(Calendar.YEAR); int thisMonth = cal.get(Calendar.MONTH); int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH); cal.setTime(birth); int birthYear = cal.get(Calendar.YEAR); int birthMonth = cal.get(Calendar.MONTH); int birthdayOfMonth = cal.get(Calendar.DAY_OF_MONTH); int age = thisYear - birthYear; // 未足月 if (thisMonth <= birthMonth) { // 当月 if (thisMonth == birthMonth) { // 未足日 if (dayOfMonth < birthdayOfMonth) { age--; } } else { age--; } } return age; }
下面是代码的简化版本:
```
public static int getAge(Date birth) {
Calendar cal = Calendar.getInstance();
cal.setTime(birth);
int birthYear = cal.get(Calendar.YEAR);
int birthMonth = cal.get(Calendar.MONTH);
int birthdayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
int thisYear = Calendar.getInstance().get(Calendar.YEAR);
int thisMonth = Calendar.getInstance().get(Calendar.MONTH);
int dayOfMonth = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
int age = thisYear - birthYear;
if (thisMonth <= birthMonth && thisMonth == birthMonth && dayOfMonth < birthdayOfMonth) {
age--;
} else {
age--;
}
return age;
}
```
这个简化版本将一些变量的声明和初始化放在了一起,同时将一些重复的代码进行了简化。
阅读全文