2011-02-03 15 views
9

Sto scrivendo un'applicazione in C# e mi piacerebbe sapere come è possibile ottenere il numero di secondi in ciascun mese. Per esempio, oggi, febbraio, il 3 °, mi piacerebbe avere:Ottieni il numero di secondi dal

January: 2678400 
February: 264000 

In sostanza, mi piacerebbe sapere quanti secondi nei mesi passati e quanti secondi nel mese in corso, al momento attuale (come molti secondi finora).

eventuali frammenti di codice sarebbe apprezzato ....

risposta

14

È possibile sottrarre due date gli uni dagli altri e ottenere il totale secondi tra di loro.

DateTime start = new DateTime(2011, 02, 03); 
DateTime end = DateTime.Now; 
var seconds = (start - end).TotalSeconds; 

Il risultato della sottrazione due date uno dall'altro è un TimeSpan.

23

Sottraendo una data da un altro vi darà sempre un TimeSpan della differenza:

TimeSpan diff = (new DateTime(2011, 02, 10) - new DateTime(2011, 02, 01)); 

Console.WriteLine(diff.TotalSeconds); 
+1

Bello, elegante e completo. +1 – KeithS

9

è possibile ottenere la proprietà TotalSeconds da un TimeSpan:

TimeSpan ts = DateTime.Now.Subtract(new DateTime(2011,2,1)); 
Console.Write(ts.TotalSeconds); 

vi darà i secondi finora questo mese.