我最近在正在使用的元数据中收到一个未标记的字段。
其中的数据如下所示:
20160305111235.703000
20101030120530.703000
我怀疑它们只是由日期和时间组合而成的长字符串。
在我的项目中使用这些字符串的最好方法似乎是将这些字符串转换为时间戳格式“ yyyy-MM-dd hh:mm:ss.SSS”
是否有转换为这种格式的好方法?我正在使用子字符串在字符串中添加“-”和“:”,但是有更好的方法吗?
谢谢。
最佳答案
使用Java 8和更高版本中内置的java.time类:LocalDateTime
和DateTimeFormatter
。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddkkmmss.SSSSSS") ;
LocalDateTime ldt = LocalDateTime.parse("20160305111235.703000", formatter);
转储到控制台。
System.out.println(ldt);
2016-03-05T11:12:35.703