今天我遇到一个DateTime的比较问题,2个DateTime变量比较,
从输出上字符来看是相等的(输出精确到秒),但比较却不相等,
有没有简单的办法去掉比秒小的时间部分,谢谢!

解决方案 »

  1.   

    DateTime.ToString("yyyy-MM-dd hh:mm:ss")
      

  2.   

    你这个没考虑到上午11点和下午11点的区别。
    应改这样
    if(dt1.ToString("yyyy-MM-dd HH:mm:ss")==dt2.ToString("yyyy-MM-dd HH:mm:ss"))
    //相等
    else
    //不相等
      

  3.   

    DateTime的一刻度是100ns,最精确的比较你可以比较刻度属性(Ticks).
      

  4.   

    DateTime.ToString("yyyy-MM-dd HH:mm:ss").ComparTo()
      

  5.   

    if ((time2 - time1).Seconds == 0)
    {
    //两个时间相差的秒数等于0
    }
      

  6.   


    这是可以的。可以写将两个DateTime相减,然后取得到的TimeSpan的TotalMilliseconds判断其 <100。使用<比较判断,尽量不要使用==。
      

  7.   

    if ((int)(time2 - time1).TotalSeconds == 0)
    {
      // 精确到秒
    }TotalSeconds返回的是一个double类型,把它转换为int以后可以忽略小数部分,这样当整数部分为0时,就可以达到你的目的了。