一.LocalDate
复制代码
import org.junit.jupiter.api.Test;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.Month;
public class TestLocalDate {
@Test
public void testLocalDate() {
/*
* LocalDate : 获取日期(构造器私有)
* 1. LocalDate.of(int year, int month, int dayOfMonth) : 获取指定日期--赋值给对象
* 1.1 LocalDate locDat = LocalDate.of(2020, 10, 10);//先创建LocalDate的对象,使用locDar.function();
* int year = locDat.getYear();//获取对象的年
* 1.2 int month = locDat.getMonthValue();//获取对象月
* 1.3 int dat = locDat.getDayOfMonth();//获取对象日
* 2.LocalDate.now() : 获取当前日期
* 3.枚举类型
* 3.1 Month.of(int month) : 获取指定月份
* 3.2 DayOfWeek.of(int dayOfWeek) : 获取指定星期
* 4.parse() : 解析合法的字符串为时间
* 4.1 LocalDate locDat = LocalDate.parse("2020-10-10");
* */
//1.LocalDate.of(int year, int month, int dayOfMonth) : 获取指定日期--赋值给对象
LocalDate locDat = LocalDate.of(2020, 10, 10);
/* 1.1 LocalDate locDat = LocalDate.of(2020, 10, 10);//先创建LocalDate的对象,使用locDar.function();
int year = locDat.getYear();//获取对象的年
1.2 int month = locDat.getMonth();//获取对象月
1.3 int dat = locDat.getDayOfMonth();//获取对象日*/
int year = locDat.getYear();
int month = locDat.getMonthValue();
int dat = locDat.getDayOfMonth();
System.out.println(year + "年" + month + "月" + dat + "日");
//2.LocalDate.now() : 获取当前日期
LocalDate now = LocalDate.now();
System.out.println("The result of : LocalDate now = LocalDate.now(); is " + now);
/** 3.枚举类型
* 3.1 Month.of(int month) : 获取指定月份
* 3.2 DayOfWeek.of(int dayOfWeek) : 获取指定星期*/
Month month1 = locDat.getMonth();
DayOfWeek dayOfWeek = locDat.getDayOfWeek();
System.out.println("The result of : Month month1 = locDat.getMonth(); is " + month1);
System.out.println("The result of : DayOfWeek dayOfWeek = locDat.getDayOfWeek(); is " + dayOfWeek);
}
}
二.LocalTime
复制代码
import org.junit.jupiter.api.Test;
import java.time.LocalTime;
public class TestLocalTime {
@Test
public void testLocalTime() {
/*
* LocalTime : 获取时间
* 1.LocalTime.now() : 获取当前时间
* 2.LocalTime.of(int,int,int) : 获取某时间,参数:时,分,秒
* 2.1int h = localTime.getHour(); 获取小时
* 2.2int m = localTime.getMinute(); 获取分钟
* 2.3int s = localTime.getSecond(); 获取秒
* 2.4int n = localTime.getNano(); 获取纳秒
* 3.LocalTime.parse("HH:mm:ss") : 把合法的时间格式解析为LocalTime对象
* */
//1.LocalTime.now() : 获取当前时间
LocalTime localTime = LocalTime.now();
System.out.println("LocalTime is : " + localTime);
/* 2.LocalTime.of(int,int,int) : 获取某时间,参数:时,分,秒
* 2.1int h = localTime.getHour(); 获取小时
* 2.2int m = localTime.getMinute(); 获取分钟
* 2.3int s = localTime.getSecond(); 获取秒
* 2.4int n = localTime.getNano(); 获取纳秒*/
LocalTime localTime1 = LocalTime.of(11, 12, 13);
int h = localTime1.getHour();
int m = localTime1.getMinute();
int s = localTime1.getSecond();
System.out.println("LocalTime is : " + h + "时" + m + "分" + s + "秒");
/* 3.LocalTime.parse("HH:mm:ss") : 把合法时间格式解析为LocalTime对象*/
LocalTime localTime2 = LocalTime.parse("11:12:13");
System.out.println("Parsed LocalTime is : " + localTime2);
}
}
三.LocalDateTime
复制代码
import org.junit.jupiter.api.Test;
import java.time.*;
public class TestLocalDateTime {
@Test
public void testLocalDateTime() {
/*
* LocalDateTime API : 获取当前日期和时间
* 1.LocalDateTime.now() : 获取当前日期和时间
* 2.LocalDateTime localDateTime = LocalDateTime.of(date,time); : 创建某天的对象
* 2.1 LocalDateTime localDateTime = LocalDateTime.of(2026,1,14,10,10,10); : 创建某天的对象
* 2.2 locDate.atTime(LocalTime) : 获取某天某个时间
* LocalDate locDat = LocalDate.of(2026,1,14);
* locDate.atTime(LocalTime) : 拼接成为一个LocalDateTime对象
* 2.3 locTime.atDate(LocalDate) : 获取某时间某天
* LocalTime locTime = LocalTime.of(10,10,10);
* locTime.atDate(LocalDate) : 拼接成为一个LocalDateTime对象
* 3.转换为LocalDate,LocalTime
* 3.1 LocalDate localDate = localDateTime.toLocalDate();
* 3.2 LocalTime localTime = localDateTime.toLocalTime();
* 4.获取时间戳 Instant类表示的是1970-1-1到现在的秒数。
* 4.1 Instant.now() : 获取时间戳
* 4.2 Instant.parse("2020-10-10T10:10:10") : 获取时间戳,转换为Instant对象
* 5.Period,Duration : 计算两个日期,时间之间的间隔
* 5.1 Period : 计算两个日期之间的间隔
* 5.1.1 Period.between(start,end) : 计算两个日期之间的间隔
* 5.1.2 Period.ofDays(10) : 获取两个日期之间的间隔
* 5.1.3 Period.of(1,1,1); : 获取两个日期之间的间隔
* 5.2 Duration : 获取两个时间之间的间隔
* 5.2.1 Duration.between(start,end) : 获取两个时间之间的间隔
* 5.2.2 Duration.ofDays(10) : 获取两个时间之间的间隔
* */
LocalDate localDate = LocalDate.now();
System.out.println("LocalDate is : "+localDate);
LocalTime localTime = LocalTime.now();
System.out.println("LocalTime is : "+localTime);
LocalDateTime now = LocalDateTime.now();
System.out.println("LocalDateTime is : " + now);
System.out.println("LocalDateTime is : " + now.getYear() + "年" + now.getMonthValue() +
"月" + now.getDayOfMonth() + "日" + now.getHour() + "时" + now.getMinute() + "分" + now.getSecond() + "秒");
Month month = now.getMonth();
System.out.println("LocalDateTime is : " + month);
int dayOfMonth = now.getDayOfMonth();
System.out.println("LocalDateTime is : " + dayOfMonth);
DayOfWeek dayOfWeek = now.getDayOfWeek();
System.out.println("LocalDateTime is : " + dayOfWeek);
int dayOfYear = now.getDayOfYear();
System.out.println("LocalDateTime is : " + dayOfYear);
LocalDate start = LocalDate.of(2028,11,26);
boolean leapYear = start.isLeapYear();
System.out.println("LocalDateTime is : " + leapYear);
}
}
复制代码
import org.junit.jupiter.api.Test;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class TestDateTimeFomatter {
@Test
public void testDateTimeFormatter() {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
System.out.println("LocalDateTime is : " + dateTimeFormatter.format(now));
}
}