gpt4 book ai didi

java - 如何从Java中的毫秒时间戳中提取一天中的时间段?

转载 作者:行者123 更新时间:2023-12-04 10:23:26 25 4
gpt4 key购买 nike

有人可以解释一下如何从毫秒时间戳值中获取一天中的某个时间段(AM/PM)?
这是目前通过以下代码完成的:

Calendar cal = Calendar.getInstance();
cal.setTime(new Date(prevDate));
assertEquals(cal.get(Calendar.AM_PM), Calendar.PM));

我只需要摆脱 java.util.Calendar .

我唯一的想法是转换 long值到 LocalDateTime然后访问 DateTimeFormatter.ofPattern("a"); .
也许有人可以建议另一种方法?

最佳答案

您提到了格式化代码,因此不清楚您是否正在寻找 AM/PM 的(本地化的?)字符串表示,但给出了 Clock在适当的区域,这将指示状态:

boolean am = LocalTime.now(clock).isBefore(LocalTime.NOON);

如果您有一个特定的 Unix 时间作为自纪元以来的毫秒数,您需要指定您有兴趣完成转换的本地时区或偏移量:
LocalTime when = Instant.ofEpochMilli(prevDate).atZone(zoneId).toLocalTime();
int meridiem = when.isBefore(LocalTime.NOON) ? Calendar.AM : Calendar.PM;
Assert.assertEquals(meridiem, Calendar.PM);

关于java - 如何从Java中的毫秒时间戳中提取一天中的时间段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60725971/

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