gpt4 book ai didi

Java 8 LocalDateTime - 如何在字符串转换中保持 .000 毫秒

转载 作者:行者123 更新时间:2023-12-01 10:07:23 24 4
gpt4 key购买 nike

我有一个通过 String 收到的时间戳格式如下:

2016-10-17T12:42:04.000



我正在将其转换为 LocalDateTime通过以下行添加一些天数(然后返回到 String ):
String _120daysLater = LocalDateTime.parse("2016-10-17T12:42:04.000",
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS")).minusDays(120).toString());

但是,我注意到它返回的响应下降了 .000毫秒。

我不确定确保保留确切模式的最干净方法。现在我只是添加一个毫秒,可能有一种方法可以合并旧的 SimpleDateFormat进入它,但我希望有更好的方法。

最佳答案

LocalDateTime::toString如果为零则省略部分:

The format used will be the shortest that outputs the full value of the time where the omitted parts are implied to be zero.



使用 LocalDateTime::format而不是依赖 toString() .
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS");
LocalDateTime _120daysLater = LocalDateTime.parse("2016-10-17T12:42:04.000", formatter).minusDays(120);

// This just uses default formatting logic in toString. Don't rely on it if you want a specific format.
System.out.println(_120daysLater.toString());

// Use a format to use an explicitly defined output format
System.out.println(_120daysLater.format(formatter));

关于Java 8 LocalDateTime - 如何在字符串转换中保持 .000 毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48043903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com