在Java 8 中新增了用来表示我们熟知的日历表示法的LocalDate类,用其创建日历将非常方便,下面就以一个示例来看看如何使用该类:
import java.time.*;
/**
*
* @author IWong
*/
public class LocalDateDemo{
public static void main(String[] args){
//以构造该对象时的日期构造一个新对象
LocalDate date = LocalDate.now();//LocalDate类是Java 8中新增的类
int month = date.getMonthValue(); //得到该日期的月
int today = date.getDayOfMonth(); //获得该日期的日
date = date.minusDays(today-1); //将日期设置为该月的第一天
DayOfWeek weekday = date.getDayOfWeek();
int value = weekday.getValue(); // 得到该月第一天属于星期几,其中1=Monday, ... 7=Sunday
System.out.println("Mon Tue Wed Thu Fri Sat Sun");
for (int i = 1; i < value; i++)
System.out.print(" ");//四个空格,为保证和Mon Tue...对齐
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();
}
}
}
运行该程序后将会显示类似如下的结果: