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);
}
}