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

运行该程序后将会显示类似如下的结果:

      

猜你喜欢

转载自blog.csdn.net/jisuanjiguoba/article/details/79872922