gpt4 book ai didi

Java 8 时间 - 将 Javascript 的 Date().getTimezoneOffset 转换为 ZoneOffset

转载 作者:行者123 更新时间:2023-12-01 18:45:47 24 4
gpt4 key购买 nike

在我的网络应用程序中,用户可以选择“8:15pm”等时间和“星期三”等日期。当它发送到服务器时,我使用 Javascript 方法发送字符串“8:15pm”、“Wednesday”和时区信息

new Date().getTimezoneOffset()

这将返回与 UTC 的分钟偏移量。如何将 360(6 小时)之类的值转换为 ZoneOffset,以便计算正确的 OffsetDateTime?是否有一种实用方法可以将小时和基本 ZoneOffset 转换为新的 ZoneOffset?

最佳答案

只是一些值得深思的东西,您可以将当前时间(以毫秒或纳秒为单位)发送到服务器,这将是 64 位或 8 个字节,而不是发送可变长度字符串,并附有使用另一个字节的区域偏移小时,或如果你真的想要的话,就几位。

此外,正如另一位用户提到的,您可以使用 ZoneOffset#ofHours 和其他有用的工厂方法创建 ZoneOffset。

ZoneOffset offset = ZoneOffset.ofHours(6);

如何转换为 ZonedDateTime 的示例

int offsetHours = 6; // receive from client

long millis = System.currentTimeMillis(); // received from client

ZoneOffset offset = ZoneOffset.ofHours(offsetHours);

ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(millis), offset);

关于Java 8 时间 - 将 Javascript 的 Date().getTimezoneOffset 转换为 ZoneOffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59844189/

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