小编Liu*_* E.的帖子

Java 8:如何用毫秒,微秒或纳秒创建DateTimeFormatter?

我需要创建用于解析时间戳的格式化程序,并带有可选的毫秒,微米或毫微秒的分数。

例如,根据我的需要,我看到了以下机会:

DateTimeFormatter formatter = new DateTimeFormatterBuilder()
                                   .append(DateTimeFormatter.BASIC_ISO_DATE)
                                   .appendLiteral('-')
                                   .append(DateTimeFormatter.ISO_LOCAL_TIME)
                                   .appendOffset("+HH:mm", "Z")
                                   .toFormatter();
Run Code Online (Sandbox Code Playgroud)

或者也可以使用appendFraction(field, minWidth, maxWidth, decimalPoint)

但是,在这些情况下,可以解析任意数量的小数(最多9个或maxWidth)的时间戳。如何实现我们只能在逗号​​后解析(可选)仅3、6或9个数字?

应该可以解析以下时间部分:

  • HH:mm:ss.SSS
  • HH:mm:ss.SSSSSS
  • HH:mm:ss.SSSSSSSSS

但无法解析:HH:mm:ss.SSSS

java time parsing java-time

4
推荐指数
2
解决办法
6732
查看次数

标签 统计

java ×1

java-time ×1

parsing ×1

time ×1