Відповіді:
time
модуль головним чином для роботи з мітками часу Unix; виражається як число з плаваючою комою, прийняте за секунди з епохи Unix. datetime
модуль може підтримувати багато з тих же операцій, але забезпечує більш об'єктно - орієнтований набір типів, а також має деяку обмежену підтримку часових поясів.
time
запобігти двозначності DST.Використовуйте виключно системний time
модуль замість datetime
модуля, щоб запобігти проблемам неоднозначності з переходом на літній час (DST) .
Перетворення у будь-який формат часу, включаючи місцевий час, досить легко:
import time
t = time.time()
time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t))
'2019-05-27 12:03 CEST'
time.strftime('%Y-%m-%d %H:%M %Z', time.gmtime(t))
'2019-05-27 10:03 GMT'
time.time()
- число з плаваючою комою, що представляє час у секундах з епохи системи. time.time()
ідеально підходить для однозначного маркування часу.
Якщо система додатково запускає мережевий протокол часу (NTP) dæmon, то в кінцевому підсумку виходить досить солідна часова база.
Ось документація на time
модуль.
time.localtime()
, що, звичайно, запекло DST. Якщо ми будемо пуристами, чи не повинні ми time.gmtime()
замість цього використовувати ? :)
ipython
показує, що time.gmtime()
приводиться кортеж, тоді як time.time()
дає час UNIX епохи як одне десятичне значення секунд, що минули з 00:00:00 UTC, четвер, 1 січня 1970 р. Функція time.localtime(t)
перетворює час епохи в локальний час кортежу. Отже, відповідь на ваше запитання - «ні».
t = time.time()
- число з плаваючою комою, що представляє час у секундах з часу епохи системи. Отже, можна просто додати або субстратувати 86400 секунд на кожен день; t += 86400
Модуль часу може бути використаний, коли вам просто потрібен час певного запису - наприклад, скажімо, що у вас є окрема таблиця / файл для транзакцій на кожен день, тоді вам просто знадобиться час. Однак тип даних часу зазвичай використовується для зберігання різниці в часі між двома пунктами часу.
Це також можна зробити, використовуючи дату, але якщо ми маємо справу лише з часом на певний день, тоді може використовуватися часовий модуль.
Час дати використовується для зберігання певних даних та часу для запису. Як у прокатному агентстві. Датою, що належить, буде тип даних дати.
Якщо вас цікавлять часові пояси, варто розглянути питання про використання пітцу.
time
іdatetime.time
?