每一个系统中,只提供一个时间服务,不能随便取用系统时间。有可能出现的时间问题:
1、同一台应用服务器上,不同程序分别取系统时间,造成时间不一致(可能就差几微秒,但是已经跨年或者跨月了)。
function A(Date nowA){B();C(nowA)};
function B(){Date nowB;} //nowA<>NowB
function C(Date nowC){};//nowA=NowC
用户看到什么时间,什么时间就需要传到后台应用中。不能因为是当前时间,就直接取服务器时间。
2、应用服务器上和数据库上分别取系统时间。一般情况下,以应该用服务器时间为准,即如果有需要,时间需要从应用服务器上传到数据库中,这样就不会造成时间的不一致(主要指当前时间)。
3、分布式系统,一定要设置时间服务器。并且,只使用这个时间。