【问题标题】:Convert a long string of date and time into Timestamp format in Java在Java中将一长串日期和时间转换为时间戳格式
【发布时间】:2017-02-15 23:10:20
【问题描述】:

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

里面的数据都是这样的:

20160305111235.703000

20101030120530.703000

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

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

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

谢谢。

【问题讨论】:

    标签: java date datetime timestamp


    【解决方案1】:

    使用 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

    【讨论】:

      【解决方案2】:

      您可以使用SimpleDateFormat 来执行此操作。有链接说明。你也可以在谷歌上找到很多如何使用它的例子。

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

      【讨论】:

      猜你喜欢
      • 2016-11-26
      • 2018-03-27
      • 2011-10-10
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多