2012-07-23 11 views

risposta

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

esso dovrebbe essere var ms = b.Subtract (a) .TotalMilliseconds; Altrimenti, corretto! Grazie! stavo usando la classe TimeSpan e non stava dando il valore corretto. – sarsnake

+1

Bene, in realtà utilizza la classe TimeSpan; il risultato di DateTime.Subtract() è un TimeSpan. – KeithS

6
(datetime2 - datetime1).TotalMilliseconds 
4

sto pensando questo dovrebbe funzionare. Poiché hai chiesto infallibile, sto assumendo non si sa quale dei due è il secondo momento :)

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

Tecnicamente questa ottiene la distanza, non la differenza. Anche se +1 perché ritengo che questo sia molto probabilmente ciò che l'OP vuole davvero. – NominSim

0

sottrazione sarebbe la mia scelta ...

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; 
    } 
Problemi correlati