2009-10-23 8 views

Répondre

4

time_t est defined comme le nombre de secondes à partir de la date d'époque Unix 1 Janvier, 1970 @ 00:00 UTC. Donc, vous avez essentiellement besoin de déterminer combien de temps vos ticks représentent et soustraire le temps de l'époque. Ce qui suit devrait le faire.

double GetTimeTSecondsFrom(long ticks) 
{ 
    DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); 
    return (new DateTime(ticks) - epoch).TotalSeconds; 
} 
+0

ce qui est excellent ... aussi plese peut me dire comment convertir time_t aux tiques grâce – user175084

+0

meilleure réponse que la mienne, comme je l'ai oublié de préciser UTC .. – stuartd

+2

Pour effectuer l'opération inverse, juste ajoutez 'epoch.Ticks' à' TimeSpan.FromSeconds (time_t_value) .TotalTicks'. –

1

Pour time_t:

long ticks = 633918528000000000; 
DateTime target = new DateTime(ticks); 
DateTime start = new DateTime(1970, 1, 1, 0, 0, 0); 
double time_t = (target - start).TotalSeconds; 
Questions connexes