首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同步时间,但忽略时区

同步时间,但忽略时区
EN

Stack Overflow用户
提问于 2009-03-30 14:08:36
回答 4查看 773关注 0票数 0

我有一个应用程序,我希望它有一个同步Windows系统时钟的功能,但只设置分钟,除非例如系统时间是13:58,时间服务器是14:02,在这种情况下,小时也应该更改。问题是,我不想使用时间服务器小时/天等,因为我希望用户能够设置时钟到任何时间(无论时区),但它仍然同步。

例如,即使windows时区是PST,并且用户在没有更改时区的情况下将时钟设置为5小时后,我也希望系统能够正确地同步,使其在未来5小时后保持同步。

有没有一种算法可以计算出是否应该根据分钟向前或向后设置小时,而不考虑任何时区因素?如果系统为15:59,服务器为16:02,则系统应设置为16:02,而不是15:02 (如果仅更改分钟数,则会设置为15:02)。如果系统为15:28,服务器为16:02,则系统应设置为15:02。我已经考虑了一段时间了,但似乎不知道该怎么做!

我已经有了获取时间服务器日期和时间以及系统时间的代码(我使用的是delphi),所以这只是一个计算如何处理它的问题。

耽误您时间,实在对不起。

EN

回答 4

Stack Overflow用户

发布于 2009-03-30 14:15:01

听起来您真正想要的只是同步客户机的UTC时间,使之与服务器的UTC时间相同,而不管服务器或客户机的时区是什么。

您需要根据UTC查找要获取和设置时间的API。

这可能不是你想要的,因为我没有完全理解你关于用户在未来5小时内设置他们的机器的问题……

票数 3
EN

Stack Overflow用户

发布于 2009-03-30 14:33:00

别忘了,有些时区不在小时界限之内……如果用户的时钟在13:30,而服务器在13:00,你怎么知道用户很简单,不是在纽芬兰,而是(比方说)蒙特利尔。

我认为Jon关于UTC的建议是可行的。

票数 2
EN

Stack Overflow用户

发布于 2009-03-30 14:37:08

获取服务器时间,减去N小时,设置本地时间。没有问题。

时间是一个实数。小时、分钟、秒等只是一种演示格式。

如果您必须在计算中包括时区,请使用my GpTimezone (description)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/697370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档