从数据库中获取一个系统时间,然后维护它,即做成一个时钟,能够返回现在的时间,怎么做
因为如果用DateTime.Now的话,可能电脑时间不一定准确,因此想从数据库中获取一个准确的时间sysdate,然后程序自己从这个sysdate开始计时,相当于做成一个时钟,只要能返回现在的时间即可,怎么做最简单(同时还要考虑到效率)
------解决方案--------------------
首先通过sql获取服务器时间 DataTime serverTime = Convert.ToDateTime( DB.Select("select getdate()"));
然后界面上弄个timer控件,Interval属性设置为1000,
Tick事件中
serverTime = serverTime.AddMinutes(1);
Label1.Text = serverTime.ToString("yyyy-MM-dd HH:mm:ss");
这样基本上保证时间一致,但不排除其他因素,如电脑自己的时钟问题什么的。。可以隔一段时间同步一下
------解决方案--------------------如果想在客户端显示一下服务器时间的话,可以弄一弄,如果是为了更新数据库时使用这个时间,任何方法都不可靠,一但时间乱套了带来的后果可能是灾难性的.最可靠的同步方式也就是隔几秒传一次心跳,这样一来服务器的负担更重,而且也不保证不会出问题.