JKD8新的时间API

localdate、localtime、localdatetime日期时间类

 

package A_ShangGuiGu.DateTimeTest;

import org.junit.Test;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

public class JKD8新时间API的使用 {
/*
localDate localTime localDateTime 的使用
*/
@Test
public void test1(){
//.now();方法获取当前的日期、时间、日期+时间
LocalDate localDate = LocalDate.now();
LocalTime localTime = LocalTime.now();
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDate);
System.out.println(localTime);
System.out.println(localDateTime);//2022-11-19T17:24:05.946

//.of();设置指定的日期时间:年月日时分秒等
LocalDateTime localDateTime1 = LocalDateTime.of(2020, 12, 12, 23, 23, 23);
System.out.println(localDateTime1);

//getXxx()获取这个数据中某个具体的信息
System.out.println(localDateTime.getDayOfMonth());//19(今天是这个月的第多少天)
System.out.println(localDateTime.getDayOfYear());//323(今天是今年的第多少天)
System.out.println(localDateTime.getDayOfWeek());//SATURDAY(周六)
System.out.println(localDateTime.getHour());//17
System.out.println(localDateTime.getYear());//2022

//withXxx();修改,返回一个新的日期或时间类。
LocalDate localDate111 = localDate.withYear(2222);
System.out.println(localDate);//2022-11-19
System.out.println(localDate111);//2222-11-19

//plusXxx();给日期时间做加法,加几个小时、天、周、月、年等。返回一个新的值
System.out.println(localDate);//2022-11-19

LocalDate localDate1 = localDate.plusYears(10);
System.out.println(localDate1);//2032-11-19

//minusXxx();给日期时间做减法,减去几个小时、天、周、月、年等。返回一个新的值。
LocalDate localDate2 = localDate1.minusYears(20);
System.out.println(localDate2);//2012-11-19
}
}
instant时间点

 

 

 

/*
Instant(获取时间点)的使用
.now()获取默认时区的时间。本初子午线的0时,在中国要+8
*/
@Test
public void test2(){

//默认的实例化
Instant instant = Instant.now();//获取默认时区的时间点
System.out.println(instant);//2022-11-19T09:50:34.972Z

//添加时间偏移量
OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));//添加的偏移量为小时(ofHours)
System.out.println(offsetDateTime);//2022-11-19T17:50:34.972+08:00

//获取时间戳
long milli = instant.toEpochMilli();//直接调用toEpochMilli方法
System.out.println(milli);//1668851502289

//使用Instant.ofEpochMilli()方法,给定时间戳进行实例化
Instant instant1 = Instant.ofEpochMilli(1668851502289l);
System.out.println(instant1);
}
datetimeformatter:日期的格式化和解析。

 

/*
DateTimeFormatter:用来格式化和解析日期时间类的方法。
*/
@Test
public void test3(){
//自定义实例化
DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//格式化日期操作,日期--》字符串
String str1 = dateTimeFormatter1.format(LocalDateTime.now());
System.out.println(str1);
//解析操作,字符串--》日期
TemporalAccessor parse = dateTimeFormatter1.parse(str1);
System.out.println(parse);
}

 

posted @   zhazhawei906  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示