gpt4 book ai didi

JAVA OffsetDateTime自定义百分之一秒

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:50:51 36 4
gpt4 key购买 nike

我目前正在寻找日期的自定义格式,但无法获得。

我想使用以下代码获取"1997-07-16T19:20:30.45+01:00":

OffsetDateTime o = OffsetDateTime.now();
String l = o.format(DateTimeFormatter.ISO_DATE_TIME);

结果是:

2017-03-28T16:23:57.489+02:00

非常接近,但我只需要有 hh:mm:ss.XX,而不是 hh:mm:ss.XXX

你知道如何自定义OffsetDateTime吗?我找不到很好的例子。

最佳答案

Your answer 几乎是正确的。如果你看一下DateTimeFormatter javadoc ,您会看到小写的 s 对应于 seconds,大​​写的 S 对应于 秒的分数:

Symbol  Meaning                     Presentation      Examples
------ ------- ------------ -------
s second-of-minute number 55
S fraction-of-second fraction 978

因此,在您的模式中,sS 是相反的。正确的模式是:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSXXX");
OffsetDateTime o = OffsetDateTime.now();
System.out.println(o.format(formatter));

输出是:

2017-06-19T20:34:29.75-03:00


PS:请注意,秒的小数部分是 75 - 大于 59,后者是 seconds< 的最大值/strong>(在您的回答中,它似乎是正确的,因为秒的分数是 48,这给人的印象是它有效)。

另一个细节是,由于我系统的默认时区,我的偏移量是 -03:00。无论如何,只需修复您的模式,它就会起作用。

关于JAVA OffsetDateTime自定义百分之一秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43072305/

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