以毫秒为单位获取两个DateTime实例的差异
答
DateTime a = ...
DateTime b = ...
var ms = a.Subtract(b).TotalMilliseconds;
答
(datetime2 - datetime1).TotalMilliseconds
答
我想这应该工作。既然你要求万无一失,我假设你不知道哪两个是以后的日子:)
Math.Abs((date1 - date2).TotalMilliseconds)
+0
从技术上讲,这可以获得距离,而不是差异。尽管+1,因为我觉得这很可能是OP真正想要的。 – NominSim 2012-07-23 17:32:10
答
减法将是我的选择......
DateTime earlier = DateTime.Now;
// ...
DateTime later = DateTime.Now;
double result = (later - earlier).TotalMilliseconds;
答
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;
}
它应该是var ms = b.Subtract(a).TotalMilliseconds;否则正确!谢谢!我使用的是TimeSpan类,并没有给出正确的值。 – sarsnake 2012-07-23 17:32:08
这实际上确实使用TimeSpan类; DateTime.Subtract()的结果是TimeSpan。 – KeithS 2012-07-23 17:52:33