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