Je suis bloqué dans la conversion d'un objet DateTime en timestamp pour le format du fichier de capture libpcap (également utilisé par wireshark, file format definitiom) en C#. L'horodateur pour lequel je n'arrive pas à convertir mon objet est l'horodatage dans l'en-tête de paquet (enregistrement) (guint32 ts_sec et guint32 ts_usec).Convertir l'objet C# DateTime en horodatage du fichier de capture libpcap
Répondre
Vous pouvez le faire comme ceci:
DateTime dateToConvert = DateTime.Now;
DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
TimeSpan diff = date - origin;
// Seconds since 1970
uint ts_sec = Math.Floor(diff.TotalSeconds);
// Microsecond offset
uint ts_usec = 1000000 * (diff.TotalSeconds - ts_sec);
Cela fonctionne. Merci beaucoup =). – Emiswelt
Bonne réponse. Ici même en arithmétique entière utilisant membre .Ticks. 'TimeSpan ts = YourDateTime - new DateTime (1970, 1, 1, 0, 0, 0, 0); UInt32 ts_sec = (UInt32) (ts.Ticks/10000000); UInt32 ts_usec = (UInt32) ((ts.Ticks/10)% 1000000); ' – user3042599
Il est préférable de convertir l'époque Unix et votre dateToConvert à UTC avant toute manipulation. Il existe un constructeur pour DateTime qui prend un DateTimeKind pour la construction de UnixEpoch, et il existe une méthode ToUniversalTime() pour la dateToConvert. Si vous voulez toujours Maintenant, il existe une propriété DateTime.UtcNow pratique qui prend soin de cela pour vous. Le code tel qu'il est écrit ne devrait pas avoir de problème, mais si vous faites cela, une date UTC pourrait être passée et travailler avec une date cible UTC et une époque Unix locale ne donnerait certainement pas les bons résultats sauf si vous êtes en GMT et pas sur l'heure d'été.
- 1. Convertir en horodatage UTC
- 2. Convert AD Horodatage à .Net DateTime
- 3. Convertir l'horodatage en datetime en erlang
- 4. Comment convertir un horodatage GMT en horodatage Unix (javascript)
- 5. Comment convertir en datetime
- 6. Comment convertir datetime en timestamp unix en c?
- 7. Comment convertir Varchar en Datetime?
- 8. SQL Convertir en GMT DateTime
- 9. Capture des traits du clavier en C#
- 10. Convertir Datetime.ToFileTime() en objet DateTime
- 11. Comment convertir DateTime en Date
- 12. Comment convertir un horodatage log4j en millisecondes en Perl?
- 13. C# Convertir les chaînes à DateTime
- 14. Convertir DateTime en DateTime qui fonctionne avec SQL Server?
- 15. Y a-t-il une API à convertir du format "YYYYMMDDHHMMSS.UUUUUU-TZO" en C# DateTime?
- 16. comment convertir un pretime en .net datetime
- 17. comment convertir la chaîne en datetime
- 18. SQL Server convertir la chaîne en datetime
- 19. DateTime Format en C#
- 20. Conversion de datetime XML en datetime SQL
- 21. Fonction qui crée un horodatage dans C#
- 22. En C#, comment convertir le type de données TimeSpan en DateTime?
- 23. Comment puis-je convertir le type DATE de VC++ en DateTime de C#?
- 24. Incorporation de IronRuby en C# et DateTime
- 25. Affichage Datetime en utilisant C#
- 26. Capture de plusieurs claviers en C#
- 27. date d'extraction du datetime stamp
- 28. Comment convertir datetime en chaîne en python dans django
- 29. Comment puis-je convertir de COleDateTime de MFC en C# DateTime?
- 30. datetime conversion C#
Il semble que ces horodatages ne soient que le nombre de secondes sous la forme d'uint32 et de microsecondes sous la forme d'uint32. À une estimation, ceux-ci sont mesurés depuis le début de l'Epoque UNIX (1 janvier 1970 00:00:00 UTC) – Powerlord
Ils sont - Je viens de poster du code pour faire la conversion. –