วันอังคารที่ 1 ธันวาคม พ.ศ. 2558

LocalDate Java 8



LocalDate เป็น future java 8 ทำขึ้นมาเพื่อความสะดวกในการหาเรื่องเกี่ยววันเวลา ซึ่งสามารถเรียกการใช้งานได้อย่างง่ายดายมาก ดังตัวอย่างด้านล่างได้เลยครับ


package com.learningjava;

import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;

public class TestLocalDate {

    public static void main(String[] args) {
        LocalDate toDay  = LocalDate.now(); // today  -> instance /object
        System.out.println(toDay);//วันปัจจุบัน  yyyy-mm-dd
        System.out.println(toDay.getDayOfWeek());//วันปัจจุบันวันอะไร เช่น  MONDAY,Tuesday TUESDAY,WEDNESDAY
        System.out.println(toDay.getDayOfMonth());//วันปัจจุบัน เป็นวันที่เท่าไรของเดือน
        System.out.println(toDay.getDayOfYear());//วันปัจจุบัน เป็นวันที่เท่าไรของปี


        //สมมุติว่าเราต้องการวันที่ 99 ของปี 2015
        LocalDate day99  = LocalDate.ofYearDay(2015,99);
        System.out.println("วันที่ 99 ของปี 2015 คือ "+day99);//วันที่ 99 ของปี 2015


        //สมมุติว่าเราต้องการหาจำนวณวันที่จะถึงสิ้นปี ของปี 2015
        LocalDate endYear = LocalDate.of(2015, Month.DECEMBER,31);
        System.out.println("อีกกี่วันจะถึงสิ้นปี  "+toDay.until(endYear,ChronoUnit.DAYS));

        //สมมุติว่าเราต้องการหาวันเกิดของเรา
        LocalDate birthDate = LocalDate.of(1989, Month.APRIL,30);//ปี,เดือน,วันที่
        System.out.println("จำนวนวันนับตั้งแต่วันเกิด "+birthDate.until(toDay,ChronoUnit.DAYS));
        System.out.printf("อายุ %d ปี %d เดือน %d วัน", birthDate.until(toDay).getYears(), birthDate.until(toDay).getMonths(), birthDate.until(toDay).getMonths());
    }
}