Je cherche comment formater le temps y compris les microsecondes. J'utilise la classe DateTime, elle permet (en utilisant les propriétés) d'obtenir des données jusqu'à milisecondes, ce qui n'est pas le cas. J'ai essayé d'utiliser Ticks, mais je ne savais pas comment le traduire en microsecondes.Temps C# en microsecondes
Répondre
Vous pouvez utiliser "ffffff"
dans une chaîne de format pour représenter microsecondes:
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.ffffff"));
Pour convertir un certain nombre de tiques à microsecondes, il suffit d'utiliser:
long microseconds = ticks/(TimeSpan.TicksPerMillisecond/1000);
Si ceux-ci ne vous aident pas, S'il vous plaît fournir plus d'informations sur exactement ce que vous essayez de faire.
EDIT: Je l'origine multiplié par ticks
1000 pour ne pas perdre la précision lors de la division par TimeSpan.TicksPerMillisecond
1000. Cependant, il se trouve que le TicksPerMillisecond
est en fait une valeur constante de 10 000 - de sorte que vous pouvez diviser par 1000 sans problème, et fait nous pourrions simplement utiliser:
const long TicksPerMicrosecond = 10;
...
long microseconds = ticks/TicksPerMicrosecond;
J'ai utilisé les deux opyions le problème est que je reçois les microsecondes toujours zéro. Il semble qu'il ne peut pas obtenir la résolution de cela. –
Ensuite, ce n'est pas un problème de formatage, c'est un problème de résolution. D'où obtenez-vous les données pour commencer? Si vous essayez de chronométrer la durée d'un événement, vous devez utiliser la classe 'Stopwatch'. –
Non. J'en ai juste besoin pour l'enregistreur. Pour chaque événement dans le système, j'entre au début l'heure à laquelle cela s'est produit. Des suggestions? –
"ffffff" est ce qu'il vous faut.
return DateTime.Now.ToString("HH:mm:ss.ffffff");
Je l'ai utilisé le problème est qu'il imprime toujours zéro aux microsecondes, comme il ne le calcule pas. –
Ce n'est pas un problème avec le formatage, c'est un problème avec la précision DateTime.Now. Essayez d'utiliser System.Diagnostics.Stopwatch. –
Je l'ai essayé une autre fenêtre (la mienne est vista) et sa résolution f les micrsecondes –
Je n'ai pas réussi à faire coïncider Johns avec la conversion micoroseconde. Voici comment j'ai pu mesurer la microseconde et la résolution nanoseconde en utilisant les tiques et le Chronomètre:
Stopwatch sw = new Stopwatch();
sw.Start();
// Do something you want to time
sw.Stop();
long microseconds = sw.ElapsedTicks/(Stopwatch.Frequency/(1000L*1000L));
long nanoseconds = sw.ElapsedTicks/(Stopwatch.Frequency/(1000L*1000L*1000L));
Console.WriteLine("Operation completed in: " + microseconds + " (us)");
Console.WriteLine("Operation completed in: " + nanoseconds + " (ns)");
sw.Elapsed.TotalMilliseconds est sympa. Puis diviser par 1000 pour obtenir des microsecondes. – rocketsarefast
Ce n'est pas tout à fait exact, car (Stopwatch.Frequency/(1000L * 1000L)) étant une valeur longue laisse tout après une décimale par exemple si le résultat de l'équation dans la ligne ci-dessus (de mon commentaire) est 2.8576 ce qui est techniquement 3 mais sw.ElapsedTicks sera divisé par 2 et non 2,8 ou 3, ce qui est totalement faux. – user2913184
- 1. microsecondes php
- 2. ActionScript 3 méthode de temps de haute précision (microsecondes)?
- 3. Comment décomposer le temps unix en C
- 4. Obtenir les temps de noyau en C#
- 5. Y at-il une bibliothèque Java 1.4 qui renvoie l'heure en microsecondes?
- 6. Obtenir des temps précis en PHP
- 7. C# Temps réel Try Catch
- 8. Temps d'évaluation des propriétés C#
- 9. Analyse de chaînes de date-heure avec des microsecondes
- 10. Code objet, temps de liaison en langage C
- 11. Comment calculez-vous le temps accumulé en C#?
- 12. comment réinitialiser le temps de DateTimePicker en C#
- 13. temps en chaîne avec HH: MM: SS (C-programmation)
- 14. Temps pris pour le chargement de la fonction en C#
- 15. Visual C++: Comment obtenir le temps CPU?
- 16. PostgresSQL Erreur de connexion de temps en temps
- 17. Pourquoi mon UDPClient est-il nul de temps en temps?
- 18. InnoDB travail de temps en temps, mais pas d'autres
- 19. Kill Process après un certain temps + C#
- 20. Obtenir le temps écoulé (Objective-c)
- 21. Retard de temps de classe Objective-C?
- 22. temps de sommeil en boucle
- 23. Manipulation du temps en python
- 24. Ajouter du temps en PHP
- 25. calcul de temps en xslt
- 26. Cloner MovieClip en temps réel
- 27. Temps de conversion en PHP?
- 28. Maths du temps en Delphi
- 29. Différence de temps en heures
- 30. Graphiques en temps réel en Java
Soyez prudent avec DateTime.Now, il est inexact de la microseconde. Essayez System.Diagnostics.Stopwatch pour saisir l'heure. Assurez-vous également d'avoir une horloge système haute résolution. –
Oui, vous avez raison. Il m'a fallu du temps pour comprendre ce commentaire. Bien qu'il présente le temps en microsecondes, le temps n'est pas en microsecondes. –