在Java中将一长串日期和时间转换为Timestamp格式

时间:2017-02-15 23:10:21

标签: java date datetime timestamp

我最近在我正在使用的元数据中收到了一个未标记的字段。

其中的数据都是这样的:

20160305111235.703000

20101030120530.703000

我怀疑它们只是由日期和时间组合而成的长串。

在我的项目中使用这些字符串的最佳方法似乎是将这些字符串转换为时间戳格式“yyyy-MM-dd hh:mm:ss.SSS”

有没有一种转换为这种格式的好方法?我使用substring将“ - ”和“:”添加到字符串中,但是有更好的方法吗?

感谢。

2 个答案:

答案 0 :(得分:2)

使用Java 8及更高版本中内置的java.time类:LocalDateTimeDateTimeFormatter

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddkkmmss.SSSSSS") ;
LocalDateTime ldt = LocalDateTime.parse("20160305111235.703000", formatter);

转储到控制台。

System.out.println(ldt);
  

2016-03-05T11:12:35.703

答案 1 :(得分:1)

您可以使用SimpleDateFormat来执行此操作。有链接说明。此外,您可以谷歌了解如何使用它的很多例子。

因此,您只需将数据中的值转换为Date,然后使用SimpleDateFormat对其进行格式化。