日期:2014-05-17  浏览次数:20841 次

C# 时间对比

        private void noticeTimer_Tick(object sender, EventArgs e)
        {
            DateTime noticeTimer = DateTime.Now;
            DateTime time = Convert.ToDateTime("2013-11-19 15:03:00.000");
            if(DateTime.Compare(noticeTimer,time)==0)   
            {
                   //TODO
            }
        }

如上一个timer,时间间隔为1000ms,为什么当即刻时间到2013-11-19 15:03:00的时候却不执行if里的TODO?
timer已经启动。

------解决方案--------------------
if(DateTime.Compare(noticeTimer,time)>=0)   
------解决方案--------------------
因为.Net中的时间计时周期单位是Tick
100ns(钠秒),即一千万分之一秒。 1 毫秒内有 10,000 个Tick
http://msdn.microsoft.com/zh-cn/library/system.datetime(VS.80).aspx
现在你知道那个等号走进去的机率了吗?