Java 8---LocalDate,LocalTime處理日期時間

package test;
 
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.temporal.TemporalAdjusters;
import java.util.Calendar;
 
/**
 * Created by lightClouds917
 * Date 2017/11/6
 * Description:Java8中處理時間和日期的類
 *
 SQL  -> Java
 --------------------------
 date -> LocalDate
 time -> LocalTime
 timestamp -> LocalDateTime
 */
public class DateTest2 {
    public static void main(String[] args){
        test1();
        test2();
 
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.getTime());
    }
 
    /**
     * 處理日期 LocalDate
     */
    public static void test1(){
        //獲取當前日期   2017-11-06
        LocalDate today = LocalDate.now();
        System.out.println(today);
 
        //構造日期   2017-10-08
        LocalDate today2 = LocalDate.of(2017,10,8);
        System.out.println(today2);
 
        //構造日期   2017-02-22    字符串嚴格按照yyyy-MM-dd
        LocalDate today3 = LocalDate.parse("2017-02-22");
        System.out.println(today3);
 
        //本月第一天  2017-11-01
        LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
        System.out.println(firstDayOfMonth);
        //本月第二天  2017-11-02   第n天
        LocalDate secondDayOfMonth = today.withDayOfMonth(2);
        System.out.println(secondDayOfMonth);
 
        //本月最後一天 2017-02-28  方便解決任何年份的二月份多少天
        LocalDate lastDayOfMonth = today3.with(TemporalAdjusters.lastDayOfMonth());
        System.out.println(lastDayOfMonth);
 
 
        //獲取2017年12月的第一個週一   2017-12-04
        LocalDate firstDayOf201712 = LocalDate.parse("2017-12-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));
        System.out.println(firstDayOf201712);
 
    }
 
    /**
     * 處理時間  LocalTime
     */
    public static void test2(){
        //獲取當前時間  含有毫秒值  17:18:41.571
        LocalTime now = LocalTime.now();
        System.out.println(now);
 
        //獲取當前時間   去掉毫秒值   17:45:41
        LocalTime now1 = LocalTime.now().withNano(0);
        System.out.println(now1);
        //00:46:46.651  提供了把時分秒都設爲0的方法
        LocalTime now2 = LocalTime.now().withHour(0);
        System.out.println(now2);
 
        //構造時間  00:20:55
        LocalTime time1 = LocalTime.of(0,20,55);
        System.out.println(time1);
        //構造時間  05:43:22
        LocalTime time2 = LocalTime.parse("05:43:22");
        System.out.println(time2);
 
 
        //標準時間 2017-11-06T17:53:15.930
        LocalDateTime lt = LocalDateTime.now();
        System.out.println(lt);
    }
}

all method:
1.  adjustInto  調整指定的Temporal和當前LocalDateTime對
2.  atOffset    結合LocalDateTime和ZoneOffset創建一個
3.  atZone  結合LocalDateTime和指定時區創建一個ZonedD
4.  compareTo   比較兩個LocalDateTime
5.  format  格式化LocalDateTime生成一個字符串
6.  from    轉換TemporalAccessor爲LocalDateTi
7.  get 得到LocalDateTime的指定字段的值
8.  getDayOfMonth   得到LocalDateTime是月的第幾天
9.  getDayOfWeek    得到LocalDateTime是星期幾
10. getDayOfYear    得到LocalDateTime是年的第幾天
11. getHour 得到LocalDateTime的小時
12. getLong 得到LocalDateTime指定字段的值
13. getMinute   得到LocalDateTime的分鐘
14. getMonth    得到LocalDateTime的月份
15. getMonthValue   得到LocalDateTime的月份,從112
16. getNano 得到LocalDateTime的納秒數
17. getSecond   得到LocalDateTime的秒數
18. getYear 得到LocalDateTime的年份
19. isAfter 判斷LocalDateTime是否在指定LocalDateT
20. isBefore    判斷LocalDateTime是否在指定LocalDateT
21. isEqual 判斷兩個LocalDateTime是否相等
22. isSupported 判斷LocalDateTime是否支持指定時間字段或單元
23. minus   返回LocalDateTime減去指定數量的時間得到的值
24. minusDays   返回LocalDateTime減去指定天數得到的值
25. minusHours  返回LocalDateTime減去指定小時數得到的值
26. minusMinutes    返回LocalDateTime減去指定分鐘數得到的值
27. minusMonths 返回LocalDateTime減去指定月數得到的值
28. minusNanos  返回LocalDateTime減去指定納秒數得到的值
29. minusSeconds    返回LocalDateTime減去指定秒數得到的值
30. minusWeeks  返回LocalDateTime減去指定星期數得到的值
31. minusYears  返回LocalDateTime減去指定年數得到的值
32. now 返回指定時鐘的當前LocalDateTime
33. of  根據年、月、日、時、分、秒、納秒等創建LocalDateTi
34. ofEpochSecond   根據秒數(1970-01-0100:00:00開始)創建L
35. ofInstant   根據Instant和ZoneId創建LocalDateTim
36. parse   解析字符串得到LocalDateTime
37. plus    返回LocalDateTime加上指定數量的時間得到的值
38. plusDays    返回LocalDateTime加上指定天數得到的值
39. plusHours   返回LocalDateTime加上指定小時數得到的值
40. plusMinutes 返回LocalDateTime加上指定分鐘數得到的值
41. plusMonths  返回LocalDateTime加上指定月數得到的值
42. plusNanos   返回LocalDateTime加上指定納秒數得到的值
43. plusSeconds 返回LocalDateTime加上指定秒數得到的值
44. plusWeeks   返回LocalDateTime加上指定星期數得到的值
45. plusYears   返回LocalDateTime加上指定年數得到的值
46. query   查詢LocalDateTime
47. range   返回指定時間字段的範圍
48. toLocalDate 返回LocalDateTime的LocalDate部分
49. toLocalTime 返回LocalDateTime的LocalTime部分
50. toString    返回LocalDateTime的字符串表示
51. truncatedTo 返回LocalDateTime截取到指定時間單位的拷貝
52. until   計算LocalDateTime和另一個LocalDateTi
53. with    返回LocalDateTime指定字段更改爲新值後的拷貝
54. withDayOfMonth  返回LocalDateTime月的第幾天更改爲新值後的拷貝
55. withDayOfYear   返回LocalDateTime年的第幾天更改爲新值後的拷貝
56. withHour    返回LocalDateTime的小時數更改爲新值後的拷貝
57. withMinute  返回LocalDateTime的分鐘數更改爲新值後的拷貝
58. withMonth   返回LocalDateTime的月份更改爲新值後的拷貝
59. withNano    返回LocalDateTime的納秒數更改爲新值後的拷貝
60. withSecond  返回LocalDateTime的秒數更改爲新值後的拷貝
61. withYear    返回LocalDateTime年份更改爲新值後的拷貝
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章