在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(); } } }
运行该程序后将会显示类似如下的结果: