我有一个输入日期,格式为yyyy-MM-dd_HH:mm:ss.SSS
,并将其转换成这种长格式:
SimpleDateFormat simpleDateFormat =
new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss.SSS");
try {
Date date = simpleDateFormat.parse(lapTime);
time = date.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
并且,经过一些操作,从长时获取mm:ss.SSS
:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("mm:ss.SSS");
return simpleDateFormat.format(new Date(time));
如何将旧样式代码更改为Java8?我查看了LocalDateTime
和Instant
类,但不知道如何正确使用它们。
您可以使用输入格式的日期创建DateTimeFormatter,然后将其转换为带区域的Instant以提取时期时间戳记>>
String date = "2019-12-13_09:23:23.333";
DateTimeFormatter formatter =
DateTimeFormatter.ofPattern("yyyy-MM-dd_HH:mm:ss.SSS");
long mills = LocalDateTime.parse(date,formatter)
.atZone(ZoneId.systemDefault())
.toInstant()
.toEpochMilli();
System.out.println(mills);