public class CommonHelper
    {
                public static DateTime time = 取出的时间值;
}调用:CommonHelper.time

解决方案 »

  1.   

    不是从数据库获取时间后变成全局变量
    而是你要定义一个Datetime类型的全局变量,然后用获取的数据库时间给它赋值
      

  2.   

    你可以先给它赋初始值为当前系统时间
    然后用个线程或timer,每隔固定时间(比如1分钟)重新从数据库获取最新的时间,避免时间长了误差越来越大
    然后再用timer每隔1秒自增
      

  3.   


    现在 时  不允许 频繁 访问 数据库
    以前 是 定时 访问 数据库 获取 时间 后来 webservice 总是 崩溃 所以 取 时间  这个 改成 程序 运行 取 数据库 时间 之后 给 变量 赋值之后 再 每秒 给这个变量 + 1
      

  4.   


        public class RemoteTimeService : ITimeService
        {
            object _syncRoot = new object();
            Stopwatch _stopwatch;
            DateTime _start;        public RemoteTimeService(DateTime serverTime)
            {
                _stopwatch = new Stopwatch();
                Synchronize(serverTime);
            }        public DateTime Now
            {
                get
                {
                    lock (_syncRoot)
                    {
                        return _start + _stopwatch.Elapsed;
                    }
                }
            }        public void Synchronize(DateTime serverTime)
            {
                lock (_syncRoot)
                {
                    _start = serverTime;
                    _stopwatch.Restart();
                }
            }
        }