Досить поширеним явищем є зберігання дати та часу як часової мітки в базі даних. Часова позначка (мітка) Unix — це кількість секунд між певною датою та 1 січня 1970 року за Всесвітнім координованим часом (скор. “UTC” від англ. “Coordinated Universal Time”).
Конвертація часової мітки в об’єкт datetime
Ми можемо використати метод fromtimestamp() з модуля datetime для отримання дати з часової мітки Unix. Наприклад:
|
1 2 3 4 5 6 7 8 9 10 11 |
from datetime import datetime # Часова мітка — це кількість секунд, що минули з 1970-01-01 timestamp = 1545730073 # Конвертація часової мітки в об'єкт datetime в локальному часовому поясі dt_object = datetime.fromtimestamp(timestamp) # Виведення об'єкта datetime та його типу на екран print("dt_object =", dt_object) print("type(dt_object) =", type(dt_object)) |
Результат:
dt_object = 2018-12-25 09:27:53
type(dt_object) = <class 'datetime.datetime'>
Ми імпортували клас datetime із модуля datetime. Потім використали метод datetime.fromtimestamp(), який повертає локальну дату та час (об’єкт datetime). Цей об’єкт зберігається у змінній dt_object.
Примітка: Ми можемо легко створити рядок, що представляє дату та час з об’єкта datetime, використовуючи метод strftime().
Конвертація об’єкта datetime в часову мітку
В Python ми можемо отримати часову мітку з об’єкта datetime, використовуючи метод datetime.timestamp(). Наприклад:
|
1 2 3 4 5 6 7 8 9 |
from datetime import datetime # Поточна дата та час now = datetime.now() # Конвертація з datetime у часову мітку ts = datetime.timestamp(now) print("Timestamp =", ts) |
Результат:
Timestamp = 1694432592.74709
Тут метод datetime.timestamp() приймає в якості аргументу об’єкт datetime, і повертає часову мітку Unix.
