java - Joda-Time 库指定 mili 秒精度

标签 java datetime jodatime milliseconds dateformatter

我正在使用这段代码片段将日期和时间字符串转换为 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/

相关文章:

java - 如何精确标记 xml 或 html 之外的字符串值,我必须使用 java 将它存储在列表中?

java - 增加索引后如何递归添加?

php - 获取创建日期早于 14 天的行

java - 用Java解析日期字符串

c# - DynamoDB 无法转换为 System.DateTime

java - Joda Time : How can I divide a Period into many Intervals?

java - 获取具有某些条件的 tableView 项目的特定行(JavaFX)

java - 使用 Apache Poi 输出 docx 中的无限虚假页面

java - 如何从时区字符串 ID 和纪元实例化 Joda DateTime

java - joda日期时间反序列化