2010-01-26 6 views
1

Je tente d'imprimer un horodatage à chaîne, où:Avancer une date_time par secondes + microsecondes et afficher le résultat?

Chaque horodatage est basé sur 01/01/1970 et augmenté d'un (long) quantité de secondes et un (long) quantité de microsecondes (toujours moins de 1 s total).

Voici ce que je fais:

DateTime TimeStamp = new DateTime(1970, 1, 1);    
TimeSpan span = new TimeSpan(0, 0, 0, (int)Soc, (int)Fracsec.Fracsec); 
TimeStamp += span; 

Je viens de remarquer que DateTime et TimeSpan millisecondes au lieu de l'utilisation microsecondes et il me est impératif que j'utilise microsecondes, quelqu'un peut me dire comment obtenir cette?

Ce que j'essaie de faire maintenant est d'afficher le résultat en une opération (j'espère). Un moyen de le faire aussi?

Répondre

1

Utilisez la propriété Ticks pour obtenir une fidélité de microsecondes et DateTime.Format() pour l'afficher. Voir this question pour plus de détails. 10 Ticks est égal à 1 microseconde. Il existe également un StopWatch class qui permet une mesure plus précise du temps écoulé.

+0

Ne sont pas les tiques dépendantes individuellement sur la machine elle-même ? – Maciek

+0

@Maciek: Non, pas ceux de DateTime/TimeSpan. –

+1

J'ai trouvé un post sur MSDN qui va dans quelques détails sur ceci: http://social.msdn.microsoft.com/Forums/fr/netfxbcl/thread/7146230d-e304-4636-86c5-d2e57588c33c – David

1

DateHeure est plus précise que quelques millisecondes - regardez les propriétés DateTime.Ticks et TimeSpan.Ticks. Une coche représente 100 nanosecondes (c'est-à-dire qu'il y a 10 ticks par microseconde, 10 000 par milliseconde). Ceci est défini dans TimeSpan.TicksPerMillisecond (une constante).

(Une chose à savoir est que ce genre de tic est pas la même chose que la tique dans la classe, Stopwatch qui varie par minuterie.)

Questions connexes