【问题标题】:Getting the difference of two DateTime instances in milliseconds以毫秒为单位获取两个 DateTime 实例的差异
【发布时间】:2012-07-23 17:23:26
【问题描述】:

这样做的正确方法是什么?我正在使用 ASP.NET MVC 3。

【问题讨论】:

    标签: c# asp.net-mvc datetime


    【解决方案1】:
    (datetime2 - datetime1).TotalMilliseconds
    

    【讨论】:

      【解决方案2】:
              DateTime a = ...
              DateTime b = ...
              var ms = a.Subtract(b).TotalMilliseconds;
      

      【讨论】:

      • 应该是 var ms = b.Subtract(a).TotalMilliseconds;否则正确!谢谢!我正在使用 TimeSpan 类,但它没有给出正确的值。
      • 这实际上确实使用了 TimeSpan 类; DateTime.Subtract() 的结果是 TimeSpan。
      【解决方案3】:

      我认为这应该可行。既然您要求万无一失,我假设您不知道两者中的哪一个是较晚的日期:)

      Math.Abs((date1 - date2).TotalMilliseconds)
      

      【讨论】:

      • 从技术上讲,这是距离,而不是差异。虽然 +1 因为我觉得这很可能是 OP 真正想要的。
      【解决方案4】:

      减法是我的选择……

      DateTime earlier = DateTime.Now;
      // ...
      DateTime later = DateTime.Now;
      double result = (later - earlier).TotalMilliseconds;
      

      【讨论】:

        【解决方案5】:
            public static Int64 GetDifferencesBetweenTwoDate(DateTime newDate, DateTime oldDate, string type)
            {
                var span = newDate - oldDate;
                switch (type)
                {
                    case "tt": return (int)span.Ticks;
                    case "ms": return (int)span.TotalMilliseconds;
                    case "ss": return (int)span.TotalSeconds;
                    case "mm": return (int)span.TotalMinutes;
                    case "hh": return (int)span.TotalHours;
                    case "dd": return (int)span.TotalDays;
                }
                return 0;
            }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-10-17
          • 2019-08-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-22
          • 1970-01-01
          相关资源
          最近更新 更多