LocalDate、LocalTime、LocalDateTime是JDK1.8新出的类
优势:相对于Date、Calendar更加安全而且api更加丰富,对日期时间的操作更加容易,非常值得一试。
根据类 命名 我们就可以轻松知道
- LocalDate是 处理 日期类
- LocalTime是 处理 时间类
- LocalDateTime是 处理 日期时间类
JDK1.8 获取时间戳
@Test
public void 获取时间戳(){
LocalDateTime now = LocalDateTime.now();
long timeStamp = now.toEpochSecond(ZoneOffset.UTC);
timeStamp = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC);
System.out.println(timeStamp);
}
LocalDate
结合Hutool可见于:https://www.zanglikun.com/16829.html
/**
*1. LocalDate常用方法
*/
LocalDate today = LocalDate.now();//获取当前日期
System.out.println(String.format("[当前日期]%d-%d-%d", today.getYear(), today.getMonthValue(), today.getDayOfMonth()));
System.out.println("[今天所处一月的周数]" + today.get(ChronoField.ALIGNED_WEEK_OF_MONTH));
System.out.println("[今天所处一年的周数]" + today.get(ChronoField.ALIGNED_WEEK_OF_YEAR));
System.out.println("[今天所处一年的天数]" + today.getDayOfYear());
LocalDate past = LocalDate.parse("2021-02-22"); //获取 2021-02-22
System.out.println("[2021-02-22是否是闰年]" + past.isLeapYear());
System.out.println("[2021-02-22星期几]" + past.getDayOfWeek());
System.out.println("[2021-02-22所在月的第一天]" + past.with(TemporalAdjusters.firstDayOfMonth()));
System.out.println("[2021-02-22所在月的第二天]" + past.withDayOfMonth(2));
System.out.println("[2021-02-22所在月的最后一天]" + past.with(TemporalAdjusters.lastDayOfMonth()));
System.out.println("[2021-02-22之后18年]" + past.plusYears(18));
System.out.println("[2021-02-22之前18个月]" + past.plusMonths(-18));
System.out.println("[2021-02-22所在月的第一个周一]" + past.with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)));
2021-02-22
[当前日期]2021-2-22
[今天所处一月的周数]4
[今天所处一年的周数]8
[今天所处一年的天数]53
[2021-02-22是否是闰年]false
[2021-02-22星期几]MONDAY
[2021-02-22所在月的第一天]2021-02-01
[2021-02-22所在月的第二天]2021-02-02
[2021-02-22所在月的最后一天]2021-02-28
[2021-02-22之后18年]2039-02-22
[2021-02-22之前18个月]2019-08-22
[2021-02-22所在月的第一个周一]2021-02-01
[LocalDateTime-->String]2021/02/22 17:49:00-845
[String-->LocalDateTime-->Date]Mon Feb 22 17:49:00 CST 2021
一般处理 Local 时间的时候,通过使用:DateFormat
@Test
void Xxx() {
// 当前时间解析
LocalDateTime now = LocalDateTime.now();
String A = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); // 年-月-日
System.out.println(A);
System.out.println(now.toLocalTime()); // 时-分-秒
//LocalDateTime 可以获取任何一个时间单位的值,也可以对时间进行加减
// 指定时间解析
LocalDateTime localDateTime = LocalDateTime.parse((CharSequence) "2020-01-02 03:04:05", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(localDateTime.toLocalTime()); // 03:04:05
System.out.println(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); //2020-01-02
}
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤