java - Joda - 仅通过格式为 "hh:mm:ss"的日期时间来推断时区

标签 java jodatime

所以我有本地时间字符串以“hh:mm:ss”的格式传入服务器。 有没有办法确定客户端的时区?

到目前为止,我可以使用 DateTimeFormatter 将字符串转换为 joda DateTime 并获取相对于 timeZone UTC 的偏移量,但这可能不准确,因为客户端上获取的时间戳与计算的时间之间会有延迟发生在服务器上(例如,如果客户端发送的时间是 11:59:59 +01:00,在服务器上延迟 2 秒到达,则计算将大致具有以下形式:11:59:59 - 11: 00:01 = 0 小时偏移,这是错误的)。

除了强制客户端发送 timeZone 而不是 localTime 之外,还有什么建议吗?

最佳答案

无法在给定本地时间的情况下计算时区。您可以计算相对于UTC的偏移量,但这与时区不同。

如果您想要用户的时区,那么最好的选择是使用 IP 地址,因为这更有可能为您提供位置。

关于java - Joda - 仅通过格式为 "hh:mm:ss"的日期时间来推断时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18746293/

相关文章:

Java : JLayeredPane resize problem

java - MVVM架构中从存储库插入数据后无法切换到MainActivity

Android Joda DateTime 关闭一小时

java - JodaTime:获取与 utc 相比具有偏移 xyz 的 DateTimeZone

java - Joda时间周计算推理

java - 如何查找连接到套接字的 Wi-Fi 设备的 MAC 地址

java - 如何将 Parse ObjectId (String) 转换为 long?

java - cucumber 场景 : getSourceTagNames() inconsistently returns list in random order

java - 如何在 Java 中获取时区的 UTC 偏移量?

Java 时间戳 : Joda vs Date vs Long