1.创建时间:
//ZonedDateTime 包含时区、LocalDateTime 不包含时区信息默认本地时区
LocalDateTime ldt = LocalDateTime.now();//2020-04-09T14:32:29.681
ZonedDateTime zdt = ZonedDateTime.now(ZoneId.of("Asia/Shanghai"));//2020-04-09T14:32:29.682+08:00[Asia/Shanghai]
OffsetDateTime offsetDateTime = Instant.now().atOffset(ZoneOffset.ofHours(8));//2020-04-09T14:32:29.682+08:00
2.获取时间戳:
Instant instan1 = Instant.now();
Instant instan2= ldt.toInstant(ZoneOffset.ofHours(8));//LocalDateTime 转时间戳要指定时区
Instant instan3 = zdt.toInstant();
instan1.getEpochSecond();//秒
instan1.toEpochMilli();//毫秒
Instant startInstant = Instant.ofEpochMilli(Long.parseLong("时间戳字符串"));
3.格式化时间:
DateTimeFormatter dtf= DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String operatorTime = ldt.format(dtf);
//ZonedDateTime 转换为时间戳-转换为OffsetDateTime-格式化
String operatorTime2 = zdt.toInstant().atOffset(ZoneOffset.ofHours(8)).format(dtf);
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
LocalDateTime localDate = LocalDateTime.parse("2019-11-27T18:11:15.911+08:00", dateTimeFormatter);//+08:00 无效 以标准格式格式化时间 为2019-11-27T18:11:15.911
System.out.println("========"+localDate);
DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//按yyyy-MM-dd HH:mm:ss格式格式化时间,格式化为 带时区的时间
OffsetDateTime parse = LocalDateTime.parse("2019-11-27 18:11:15", dateTimeFormatter2)
.toInstant(ZoneOffset.ofHours(8)).atOffset(ZoneOffset.ofHours(8));//2019-11-27T18:11:15+08:00
Instant instan = localDate.toInstant(ZoneOffset.ofHours(8));//LocalDateTime 转时间戳要指定时区
System.out.println(instan);// 2019-11-27T10:11:15.911Z
java.util.Date date = Date.from(instan);//转换为旧时间
System.out.println(date);//Wed Nov 27 18:11:15 CST 2019
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String result = sdf.format(date);//2019-11-27 18:11:15
String time = "1994-11-24 07:11:24";
Date date = sdf.parse(time);
//date tostring 之后转换方法
SimpleDateFormat frm = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
parse = frm.parse("Fri Apr 24 16:25:33 CST 2020");
} catch (ParseException e) {
e.printStackTrace();
}
String result = sdf.format(parse);//2019-11-27 18:11:15
jdk8 Instant 、LocalDateTime、字符串时间互转
最新推荐文章于 2024-04-12 09:18:55 发布