1. 程式人生 > >Java 8中的LocalDate類的使用(如何建立一個顯示當月的日曆)

Java 8中的LocalDate類的使用(如何建立一個顯示當月的日曆)

      在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();     
       }      
   }
}

執行該程式後將會顯示類似如下的結果: