我正在使用这段代码片段将日期和时间字符串转换为 Joda DateTime 对象 -
String time = "124204";
String date = "05/09/25";
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/mm/yyhhmmss").withZone(DateTimeZone.UTC);
String dateInString = date.concat(time);
DateTime dateTime = DateTime.parse(dateInString, formatter);
System.out.println(dateTime);
我得到的输出为 - 2025-01-05T00:42:04.000Z
但我希望它是 - 2025-01-05T00:42:04.000000Z
我希望 mili 秒精度为 6 位数。
我该怎么做?感谢您的帮助。
最佳答案
你很困惑。
你似乎认为你有一个字符串。你没有;您有一个 DateTime
类型的对象。您看到的是在这些对象之一上调用 toString()
的结果,并且像 all toString()
方法一样,这是只是一个调试辅助工具。它是为了您的开发人员的眼球,绝对没有别的(如果您将它用于其他用途,请停止这样做)。
如果您想要某种特定格式的输出,请创建第二个 DateTimeFormat
对象并使用它。您正在使用第一个将字符串转换为日期时间对象(parse
方法)。这些格式化对象是双向的;他们还可以使用 format
方法将日期时间对象转回字符串。去做。制作您想要的模式,对其调用 .format
并将您拥有的 dateTime
对象传递给它。
注意:您为什么使用 jodatime?它已被 java.time
包废弃,该包由与 jodatime 相同的作者编写。
关于java - Joda-Time 库指定 mili 秒精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69208586/