所以我有本地时间字符串以“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/