时区同步
我有一个在 Java 上运行的服务器和在 python 上运行的客户端。当我连接客户端和服务器时,我必须同步从服务器到客户端的时间。 我成功地从服务器连接并将流发送到客户端。我想知道发送时间和时区的常用方式是什么。我该怎么做?现在我正在发送以毫秒为单位的时间,并在 python 中对其进行配对以获取日期和时间。但我不知道如何发送时区。
I have a server which runs on Java and client which runs on python. When I connect the client and server I have to sync the time from server to client.
I was successful in connecting and sending streams from server to client. I wanted to know what is the usual way to send time and timezone. How can i do it? For now i am sending time in miliseconds and paring that in python to get the date and time. But I don't know how to send time zone.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该以 UTC 格式传输和处理时间,并且完全不要混淆时区。在 Java 中,这正是 System.currentTimeMillis() 返回的内容。
编辑:传输时区信息的正确格式是使用大陆/城市 ID,如 tz 数据库,例如“America/New_York”或“Europe/Berlin”。 Java 也使用此方法。基本时区偏移量不足,因为它无法适应夏令时和历史时区更改。
You should transmit and process the time in UTC and not mess with timezones at all. In Java, this is exactly what
System.currentTimeMillis()
returns.Edit: The correct format to transfer timezone information is to use a continent/city ID as in the tz database, e.g. "America/New_York" or "Europe/Berlin". This is also used by Java. The base timezone offset is insufficient because it cannot accomodate daylight savings time and historical timezone changes.
您知道 NTP,即网络时间协议吗?
Do you know NTP, the Network Time Protocol?