2011-12-10 13 views
9

Sto lavorando con C# .NET e PHP e ho bisogno di un modo standard di registrazione tra i due. Voglio usare i secondi dal 1970 = <?php echo time(); ?> perché sto già usando alcune delle fantastiche funzioni di php come: date() & strtotime() nel mio progetto. C'è qualcosa in .net che è equivalente a PHP time()?C# .NET equivalente a tempo PHP()

Grazie in anticipo.

risposta

19
(int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds 
1

Proprio così semplice:

var secondsSince1970 = DateTime.Now - DateTime.Parse("01.01.1970 00:00:00"); 
Debug.Write(secondsSince1970.TotalSeconds.ToString()); 
+0

ho votato non verso il basso, ma le vostre uscite di codice di 0-60 –

+0

@PatrickLorio: Hai ragione. Ho preso una proprietà sbagliata. Ho corretto il campione. – Fischermaen

0

È possibile utilizzare DateTime struttura (tipo di dati) - Rappresenta una data e un'ora. È possibile utilizzare la proprietà DateTime.Now e DateTime.UtcNow (Coordinated UTC) per ottenere l'ora locale.

Per ottenere l'intervallo di tempo è possibile utilizzare la struttura Timespan.

2

Non è chiaro il motivo per cui avete bisogno di un equivalente per PHP time(), ma si può fare:

var secondsSinceUnixEpoch = DateTime.UtcNow 
            .Subtract(new DateTime(1970, 1, 1)) 
            .TotalSeconds; 

// If needed. 
var roundedSeconds = (int) secondsSinceUnixEpoch;