第4章 对象与类
4.2.3 更改器方法与访问器方法
通过下面的示例程序,学习如何通过一个类的接口来完成相当复杂的任务,而无须了解实现细节。
package ch01;
import java.time.DayOfWeek;
import java.time.LocalDate;
public class CalendarTest {
public static void main(String[] args) {
LocalDate date = LocalDate.now();
int month = date.getMonthValue();
int today = date.getDayOfMonth();
date = date.minusDays(today - 1);
DayOfWeek week = date.getDayOfWeek();
int value = week.getValue();
System.out.println("Mon Tue Wed Thu Fri Sat Sun");
for (int i = 1; i < value; i++) {
System.out.print(" ");
}
while (date.getMonthValue() == month) {
System.out.printf("%3d", date.getDayOfMonth());
if (date.getDayOfMonth() == today) {
System.out.print("*");
} else {
System.out.print(" ");
}
date = date.plusDays(1);
if (date.getDayOfWeek().getValue() == 1) {
System.out.println();
}
}
if (date.getDayOfWeek().getValue() != -1) {
System.out.println();
}
}
}
运行结果
API
java.time.LocalDate 8
- static LocalDate now()
构造一个表示当前日期的对象
- LocalDate of(int year, Month month, int dayOfMonth)
构造一个表示给定日期的对象
- int getYear()
- int getMonthValue()
- int getDayOfMonth()
得到当前日期的年/月/日。
- DayOfWeek getDayOfWeek()
得到当前日期是星期几, 返回类型是DayOfWeek。调用getValue来得到1-7之间的一个数字,表示这是星期几,1 表示星期一, 7表示星期日。
- LocalDate plusDays(long daysToAdd)
- LocalDate minusDays(long daysToSubtract)
生成当前日期之前或之后前n天的日期。