我正在编写一个需要准确时间的应用程序(精确到几秒钟,没什么疯狂的)。该应用程序在 C# 中,它与 SQL Server 接口,两者都驻留在同一台机器上。在我的应用程序代码中,我从 NTP 服务器获取时间,但我希望能够编写使用 GETDATE() 的 SQL 语句,而不必在 SQL 语句中写入当前时间。
不幸的是,服务器上的系统时间不会随着时间的推移保持准确。系统时间关闭时有没有办法使用 GETDATE() ?我宁愿避免编写从 NTP 服务器检索时间然后更新系统时间的代码。
我正在编写一个需要准确时间的应用程序(精确到几秒钟,没什么疯狂的)。该应用程序在 C# 中,它与 SQL Server 接口,两者都驻留在同一台机器上。在我的应用程序代码中,我从 NTP 服务器获取时间,但我希望能够编写使用 GETDATE() 的 SQL 语句,而不必在 SQL 语句中写入当前时间。
不幸的是,服务器上的系统时间不会随着时间的推移保持准确。系统时间关闭时有没有办法使用 GETDATE() ?我宁愿避免编写从 NTP 服务器检索时间然后更新系统时间的代码。
您不需要自己编写任何代码来与 NTP 对话 - 您应该能够启用它自己的 Windows 时间服务。如果您发现您的系统时钟仍然漂移得太快,则表明计算机可能存在问题 - 时间服务应该经常同步以使其保持非常接近。
编辑:如果按照建议,Windows 时间服务不能保持足够的准确性,我相信还有很多其他 NTP 客户端将在 Windows 中作为服务运行。我很确定我曾经运行过NetTime ...我绝对不建议自己编写它,只是因为它已经完成了。