Rozejrzałem się dookoła i wydaje się, że jest dużo hacków, ale nie ma prostych, "dobrych" sposobów, aby to zrobić. Chcę przekonwertować obiekt Python datetime
na mikrotime, taki jak time.time()
zwraca (seconds.microseconds).Python datetime to microtime
Jaki jest najlepszy sposób na zrobienie tego? Korzystanie z mktime()
powoduje całkowite odcięcie mikrosekund, więc możliwe, że uda Ci się zbudować timedelta
, ale to nie wydaje się właściwe. Możesz także użyć float(strftime("%s.%f"))
(prawidłowo zaokrąglając sekundy), ale to wygląda na super-hack.
Jaki jest "właściwy" sposób na zrobienie tego?
Jeśli strefa czasowa dla obiektu datetime i lokalnej strefy czasowej może nie być taka sama, należy zamiast tego użyć opcji calendar.gmtime (dt.utctimetuple()). –
masz na myśli 'calendar.timegm', a to daje tę samą odpowiedź co wersja Mark - co oznacza, że jest niepoprawna dla obiektów' datetime' innych niż UTC. Czas, jaki upłynęła od epoki dla mnie, jest taki sam jak dla kogoś w UTC, nie różny od mojego offsetu UTC. – agf
To zawsze jest poprawne, niezależnie od strefy czasowej, ponieważ dt.utctimetuple zwraca krotka czasową obiektu datetime w UTC. A calendar.timegm przyjmuje czas utc. –