【发布时间】:2020-06-21 18:28:52
【问题描述】:
我有一个即时日期,例如:2020-03-09T20:13:57.089Z,我想在 Instant 中找到第二天的结束时间,例如 - 2020-03-10T23:59:59.089Z(与初始日期相比,这将是第二天的结束时间)
如何在 Java 中使用 Instant?
【问题讨论】:
-
是的,使用现代 Java 日期和时间 API java.time 进行日期和时间工作。不,不要将一天的结束表示为 23:59:59-dot-something。将其表示为第二天的第一刻。它更简单,也更正确。只有永远记住这一天一直持续到那一刻独家。
-
0.089 秒从何而来?还是您只是想要 23:59:59?
-
1) 你说“midnight”然后你说
11:59:59.089Z,这是中午,那是什么? --- 2) 是否需要像您展示的那样保留.089毫秒?如果是这样,您应该明确说明,以澄清您的要求。 -
"
2020-03-10T11:59:59.089Z(这将是第二天结束)" 我从来没有想过 中午(又名“中午”)是成为任何事情的“一天结束”。你确定你说的不是23:59:59吗? -
好的,所以对于第三次:示例显示时间是11:59:59,也就是中午 ,但您要求“一天结束”,也就是 midnight,即 23:59:59。请修正问题文本中的差异,即将 11 更改为 23,或将“一天结束”/“午夜”更改为“一天中”/“中午”。