1. 程式人生 > >日曆Demo

日曆Demo

    public static void main(String[] args) {
        LocalDate localDate = LocalDate.now(); // localDate 2018-09-25
        int monthValue = localDate.getMonthValue(); // 得到月份 9
        int dayOfMonth = localDate.getDayOfMonth(); // 得到日期 25
        localDate = localDate.minusDays(dayOfMonth - 1); // minusDays 當前物件減去指定的天數
DayOfWeek week = localDate.getDayOfWeek(); // SATURDAY int value = week.getValue(); // 將日期換為數字,星期一就是1,星期二就是2,以此類推,這裡value是6 System.out.println("Mon Tue Wed Thu Fri Sat Sun"); for (int i = 1; i < value; i++) { System.out.print(" "); } while
(localDate.getMonthValue() == monthValue){ System.out.printf("%3d", localDate.getDayOfMonth()); if (localDate.getDayOfMonth() == dayOfMonth){ System.out.print("*"); // 將今日的日期後面加上一個* }else { System.out.print(" "); } if
(localDate.getDayOfWeek().getValue() == 7){ System.out.println(); } localDate = localDate.plusDays(1); } }

通過 localDate = localDate.minusDays(dayOfMonth - 1),來得到每個月的第一天,minusDays為減去引數天數

LocalDate中的其他方法在結尾顯示


System.out.printf的使用方法為,第一個引數是格式控制符,格式控制符以一個%開始,一個字母結束,字母規定了方法按照何種方式列印這個值,例如d表示十進位制整數(int),f表示浮點數(double)

格式控制符 結果
%d 整數
%8d 整數,右對齊,輸出寬度為8
-6% 整數,左對齊,輸出寬度為6
%f 浮點數
%8f 浮點數,右對齊,輸出寬度為8
%.2f 浮點數,精確到百分位
%16.3f 浮點數,精確到千分位,輸出寬度為16

String同理,只是將d換成s


以下是LocalDate中的常用方法,其餘可以查詢API

方法名 返回值型別 對該方法的解釋
getYear() int 獲取當前日期的年份
getMonth() Month 獲取當前日期的月份物件
getMonthValue() int 獲取當前日期是第幾月
getDayOfWeek() DayOfWeek 表示該物件表示的日期是星期幾
getDayOfMonth() int 表示該物件表示的日期是這個月第幾天
getDayOfYear() int 表示該物件表示的日期是今年第幾天
withYear(int year) LocalDate 修改當前物件的年份
withMonth(int month) LocalDate 修改當前物件的月份
withDayOfMonth(int dayOfMonth) LocalDate 修改當前物件在當月的日期
isLeapYear() boolean 是否是閏年
lengthOfMonth() int 這個月有多少天
lengthOfYear() int 該物件表示的年份有多少天(365或者366)
plusYears(long yearsToAdd) LocalDate 當前物件增加指定的年份數
plusMonths(long monthsToAdd) LocalDate 當前物件增加指定的月份數
plusWeeks(long weeksToAdd) LocalDate 當前物件增加指定的週數
plusDays(long daysToAdd) LocalDate 當前物件增加指定的天數
minusYears(long yearsToSubtract) LocalDate 當前物件減去指定的年數
minusMonths(long monthsToSubtract) LocalDate 當前物件減去註定的月數
minusWeeks(long weeksToSubtract) LocalDate 當前物件減去指定的週數
minusDays(long daysToSubtract) LocalDate 當前物件減去指定的天數
compareTo(ChronoLocalDate other) int 比較當前物件和other物件在時間上的大小,返回值如果為正,則當前物件時間較晚
isBefore(ChronoLocalDate other) boolean 比較當前物件日期是否在other物件日期之前
isAfter(ChronoLocalDate other) boolean 比較當前物件日期是否在other物件日期之後
isEqual(ChronoLocalDate other) boolean 比較兩個日期物件是否相等