Różnica między Python datetime a modułami czasu
Próbuję rozgryźć różnice między datetime
i time
modułami I do czego każdy z nich powinien być używany.
Wiem, że datetime
podaje zarówno datę, jak i czas. Do czego służy moduł time
?
Przykłady byłyby mile widziane, a różnice dotyczące stref czasowych byłyby szczególnie interesujące.
4 answers
Moduł time
jest przeznaczony głównie do pracy z uniksowymi znacznikami czasu; wyrażony jako Liczba zmiennoprzecinkowa liczona w sekundach od epoki Uniksa. moduł datetime
może obsługiwać wiele z tych samych operacji, ale zapewnia bardziej obiektowy zestaw typów, a także ma pewne ograniczone wsparcie dla stref czasowych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-20 04:00:50
Jeśli jesteś zainteresowany strefami czasowymi, powinieneś rozważyć użycie pytz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-20 04:42:31
Moduł czasu może być używany, gdy potrzebujesz tylko czasu określonego rekordu-powiedzmy, że masz oddzielną tabelę/plik dla transakcji na każdy dzień, wtedy potrzebujesz tylko czasu. Jednak typ danych czasu jest zwykle używany do przechowywania różnicy czasu pomiędzy 2 punktami czasu.
Można to również zrobić za pomocą datetime, ale jeśli mamy do czynienia tylko z czasem dla określonego dnia, wtedy można użyć modułu czasu.
Datetime jest używany do przechowywania określonego Dane i czas na zapis. Jak w wypożyczalni. Date będzie datatetime datatype.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-20 03:56:57
Trzymaj się time
, aby zapobiec dwuznaczności czasu DST.
Osobiście wolę używać tylko modułu systemu time
, Aby zapobiec problemom dwuznaczności z czasem letnim (DST) .
Konwersja do dowolnego formatu czasu, w tym czasu lokalnego jest dość prosta:
import time
t = time.time()
t_str = time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t))
Jeśli system dodatkowo uruchamia network time protocol (NTP) dæmon, jeden kończy się z dość solidną bazą czasu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-27 18:48:25