获取两个DateTime实例之间的毫秒差异

5
什么是一种可靠的无误的做法?我正在使用ASP.NET MVC 3。
5个回答

11
        DateTime a = ...
        DateTime b = ...
        var ms = a.Subtract(b).TotalMilliseconds;

谢谢!应该是 var ms = b.Subtract(a).TotalMilliseconds;,否则没问题!我之前使用TimeSpan类时没有得到正确的值。 - sarsnake
1
这实际上使用了TimeSpan类;DateTime.Subtract()的结果是一个TimeSpan。 - KeithS

7
(datetime2 - datetime1).TotalMilliseconds

4

我认为这应该能行。既然你要求十分简单,我就假定你不知道两个日期哪一个较晚 :)

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

从技术上讲,这个函数计算的是距离,而不是差异。尽管如此,我还是给一个+1,因为我觉得这很可能是原帖作者真正想要的。 - NominSim

0

减法会是我的选择...

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

0
    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;
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接