使用Java将给定时间转换为纳秒精度

时间:2019-03-06 13:14:58

标签: java time

我的代码:

String timeColonPattern = "HH:mm:ss.SSSSSSSSS";             
DateTimeFormatter timeColonFormatter = DateTimeFormatter.ofPattern(timeColonPattern);
LocalTime colonTime = LocalTime.parse("09:30:23.187235");

我希望将“ 09:30:23.187235”转换为纳秒精度。 ColonTime与09:30:23.187235相同,但我希望将其转换为09:30:23.187235000。即,如果小数点后的数字小于9,则应加零。任何建议如何实现?

1 个答案:

答案 0 :(得分:6)

LocalTime已具有nanosecond精度。如果要输出此精度,请不要使用.SSSSSSSSS模式,而要使用.nnnnnnnnn

LocalTime colonTime = LocalTime.parse("09:30:23.187235");
System.out.println(
    DateTimeFormatter.ofPattern("HH:mm:ss.nnnnnnnnn")
                     .format(colonTime)
);

请参阅此code run in IdeOne.com

  

09:30:23.187235000

查看所有可能的模式,请参见DateTimeFormatter类。