java8中LocalDateTime的用法

import org.junit.Test;

import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoField;
import java.time.temporal.ChronoUnit;

/**
 * @description: 測試類
 * @author: tiger
 * @create: 2019-10-20 19:01
 */
public class Test1 {

    @Test
    public void testLogin() throws Exception {
        LocalDate localDate = LocalDate.now();
        System.out.println("localDate = " + localDate);

//        LocalDate localDate = LocalDate.of(2018,11,12);
//        System.out.println("localDate = " + localDate);

        //獲取年、月、日、星期幾
        //獲取年份
        int year = localDate.getYear();
        System.out.println("獲取年份year = " + year);
        int year1 = localDate.get(ChronoField.YEAR);
        System.out.println("獲取年份year1 = " + year1);
        //獲取月份
        Month month = localDate.getMonth();
        System.out.println("獲取月份month = " + month);
        int month1 = localDate.getMonthValue();
        System.out.println("獲取月份month1 = " + month1);
        int month2 = localDate.get(ChronoField.MONTH_OF_YEAR);
        System.out.println("獲取月份month2 = " + month2);
        //獲取年份中的天數
        int dayOfYear = localDate.getDayOfYear();
        System.out.println("獲取年份中的天數dayOfYear = " + dayOfYear);
        //獲取月份中的天數
        int day = localDate.getDayOfMonth();
        System.out.println("獲取月份中的天數day = " + day);
        int day1 = localDate.get(ChronoField.DAY_OF_MONTH);
        System.out.println("獲取月份中的天數day1 = " + day1);
        //獲取星期中的天數
        DayOfWeek dayOfWeek = localDate.getDayOfWeek();
        System.out.println("獲取星期中的天數dayOfWeek = " + dayOfWeek);
        int dayOfWeek1 = localDate.get(ChronoField.DAY_OF_WEEK);
        System.out.println("獲取星期中的天數dayOfWeek1 = " + dayOfWeek1);

        //時分秒
        LocalTime localTime = LocalTime.now();
        System.out.println("localTime = " + localTime);

        //獲取時分秒
        int hour = localTime.getHour();
        //獲取一天中小時
        System.out.println("獲取一天中小時hour = " + hour);
        int hour1 = localTime.get(ChronoField.HOUR_OF_DAY);
        System.out.println("獲取一天中小時hour1 = " + hour1);
        int hour2 = localTime.get(ChronoField.SECOND_OF_MINUTE);
        System.out.println("獲取一天中小時hour2 = " + hour2);
        //獲取小時中分鐘
        int minute = localTime.getMinute();
        System.out.println("獲取小時中分鐘minute = " + minute);
        int minute1 = localTime.get(ChronoField.MINUTE_OF_HOUR);
        System.out.println("獲取小時中分鐘minute1 = " + minute1);
        //獲取一天中的秒數
        int secondOfDay = localTime.get(ChronoField.SECOND_OF_DAY);
        System.out.println("獲取一天中的秒數secondOfDay = " + secondOfDay);
        //獲取分鐘中秒數
        int second = localTime.getSecond();
        System.out.println("獲取分鐘中秒數second = " + second);
        int second1 = localTime.get(ChronoField.SECOND_OF_MINUTE);
        System.out.println("獲取分鐘中秒數second1 = " + second1);

        //增加、減少年月日
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println("localDateTime = " + localDateTime);
        //增加一年
        LocalDateTime localDateTime1 = localDateTime.plus(1, ChronoUnit.YEARS);
        System.out.println("增加一年localDateTime1 = " + localDateTime1);
        //減少一年
        LocalDateTime localDateTime2 = localDateTime.minusYears(1);
        System.out.println("減少一年localDateTime2 = " + localDateTime2);

        //修改時間
        LocalDateTime localDateTime3 = localDateTime.withYear(2099);
        System.out.println("修改時間localDateTime3 = " + localDateTime3);

        //計算時間
        //例如計算當月最後一天是幾號
        LocalDateTime localDateTime4 = LocalDateTime.now().plusMonths(1).withDayOfMonth(1).minusDays(1);
        System.out.println("當月最後一天是幾號localDateTime4 = " + localDateTime4.getDayOfMonth());
        //例如計算下個週末是幾號
        LocalDateTime localDateTime5 = LocalDateTime.now().with(ChronoField.DAY_OF_WEEK, 7).plusWeeks(1);
        System.out.println("當前日期的下個週末是幾號localDateTime5 = " + localDateTime5.getDayOfMonth());

        //格式化時間
        String sf = localDateTime.format(DateTimeFormatter.BASIC_ISO_DATE);
        System.out.println("格式化時間sf = " + sf);
        String sf1 = localDateTime.format(DateTimeFormatter.ISO_DATE);
        System.out.println("格式化時間sf1 = " + sf1);
        String sf2 = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        System.out.println("格式化時間sf3 = " + sf2);

        //解析時間
        LocalDate localDate2 = LocalDate.parse(sf, DateTimeFormatter.BASIC_ISO_DATE);
        System.out.println("解析時間localDate2 = " + localDate2);
        LocalDate localDate3 = LocalDate.parse(sf1, DateTimeFormatter.ISO_LOCAL_DATE);
        System.out.println("解析時間localDate3 = " + localDate3);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章