java8 打印本月日历
2016-12-28 15:52
501 查看
思想:打印1号前面的空格,再从1号顺序打印到本月的最后一天,其中星期天那天换行。
public class DateDemo { public static void main(String[] args) { LocalDate today = LocalDate.now(); //本月第一天和最后一天 LocalDate first =LocalDate.of(today.getYear(),today.getMonth(),1); LocalDate lastDay =today.with(TemporalAdjusters.lastDayOfMonth()); //本月有多少天 int days= lastDay.get(ChronoField.DAY_OF_MONTH); //本月第一天是星期几 int firstweek = first.get(ChronoField.DAY_OF_WEEK); //打印星期 String[] ss={"一","二","三","四","五","六","日"}; for (int i = 0; i < 7; i++) { System.out.print(" "+ss[i]); } System.out.println(); //打印空格 for (int i = 1; i <firstweek ; i++) { System.out.printf("%-3s"," "); } //打印从1-最后一天 for (int i = firstweek,j=1; j <=days; i++,j++) { if(i%7==0){ System.out.printf("%3d\n",j); }else{ System.out.printf("%3d",j); } } } }