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

使用java将给定时间转换为纳秒精度,java,time,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与

我的代码:

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。i、 e.如果小数点后的数字小于9,则应加零。有什么建议可以实现吗?

已经很精确了。如果要输出此精度,请不要使用
.sssssss
模式,而是使用
.nnnnnnn

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

09:30:23.187235000


查看所有可能的模式查看类。

如果这样做,就不会增加精度,只是假装增加精度。您添加的是硬编码的0,这是另一回事
LocalTime
具有纳秒精度。您无需执行任何操作。如果时间以毫秒或微秒为单位,则我希望它添加额外的零,但它没有添加额外的零。无法复制:我没有使用.format()。很抱歉现在我得到了期望的输出。ThanksI没有使用.format()。很抱歉现在我得到了期望的输出。谢谢
ssssss
也可以。重要的部分只是在打印时使用格式化程序进行格式化。