1. Форматування дати та часу
Ласкаво просимо на нашу третю лекцію по роботі з датою і часом в Python! Сьогодні у нас на порядку денному надзвичайно важлива тема, яка допоможе вашим звітам і логам стати не тільки функціональними, але і естетично привабливими — це форматування дати та часу. Зробимо ваші звіти красивими та зручними, адже ніхто не любить безлад, навіть у коді!
Ви коли-небудь задумувались, чому дата в деяких звітах виглядає так незрозуміло? Це як обирати між стандартами: обрати ISO 8601, щоб вразити колег, чи залишити все у звичних форматах? Давайте розберемось, як за допомогою Python можна акуратно форматувати дату і час, щоб це виглядало так, ніби ви програміст, який точно знає, що робить.
У світі Python є чудовий метод strftime(), який дозволяє вам перетворювати об'єкти datetime у рядки, форматуючи їх за вашим бажанням. Давайте почнемо з основного синтаксису, а потім розглянемо кілька прикладів форматування.
from datetime import datetime
# Отримуємо поточну дату та час
now = datetime.now()
# Форматуємо поточну дату та час у зручну стрічку
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("Поточна дата і час:", formatted_date)
Часто використовувані коди форматування:
%Y: Повний рік (наприклад, 2023)%m: Місяць у вигляді числа (наприклад, 01 для січня)%d: День місяця (наприклад, 01 для першого числа місяця)%H: Години у 24-годинному форматі%M: Хвилини%S: Секунди
Отже, тепер, коли ми можемо перетворювати дату і час, давайте перейдемо до вибору, який із численних форматів підходить для нашого застосування. Та й взагалі, чи знали ви, що у світі програмування, якщо ви не знаєте, у якому форматі представлена дата, ви можете написати цілу книгу про це, перш ніж знайти відповідний варіант?
Приклади форматування для логів і звітів
Форматування — це не лише про красу. Це також про надання зручної до читання інформації для інших. Приклади застосування форматування можуть бути найрізноманітнішими:
- Файлові логи:
Якщо ваш скрипт записує події у лог-файл, то часто в них потрібно фіксувати час подій. Це не тільки допомагає відслідковувати процес роботи скрипта, але й спрощує налагодження.
Pythonlog_time = now.strftime("%Y-%m-%d %H:%M:%S") log_entry = f"[{log_time}] Подія: скрипт розпочав виконання." print(log_entry) - Звіти та документи:
Якщо ви генеруєте PDF або Excel звіти, мати відформатовану дату у заголовку чи підвалі може стати великим плюсом.
Pythonreport_date = now.strftime("%d.%m.%Y") print(f"Звіт був згенерований на дату: {report_date}")
Гнучкість форматування
Ви можете комбінувати коди форматування, щоб створювати практично будь-який формат, який вам потрібен.
Припустимо, вам потрібен формат як у старих фільмах, щоб вразити свого боса:
vintage_format = now.strftime("%A, %B %d, %Y at %I:%M %p")
print("Вінтажна дата:", vintage_format)
Тут коди %A, %B, %I, %p використовуються для виводу повної назви дня тижня, повної назви місяця, годин у 12-годинному форматі та позначення AM/PM відповідно. Іноді крапля вінтажу робить навіть найсучасніші звіти більш цікавими!
Типові помилки та як їх уникнути
Коли справа доходить до форматування, часто зустрічається помилка з неправильним використанням кодів форматування. Наприклад, заміна маленької букви m на велику M при виведенні хвилин або місяців може призвести до смішних результатів. У такі моменти, якби коди час від часу не виконували свою роботу правильно, елементарне форматування могло б перетворитися на комедію помилок.
Завжди перевіряйте свій формат за допомогою документації Python strftime() і strptime(), якщо у вас виникають сумніви у синтаксисі.
Практичне застосування форматування
Уявіть, що ви пишете скрипт, який збирає статистику з вебсайта кожну годину. Усі дані зберігаються у CSV, і кожен файл іменується поточною датою і часом запуску збору даних. Ось приклад, як ви могли б це реалізувати:
import os
def save_data(data):
file_time = datetime.now().strftime("%Y%m%d_%H%M%S")
file_name = f"data_{file_time}.csv"
# Тут замість os розділіть вашу бізнес-логіку для запису даних
print(f"Дані збережені у файл: {file_name}")
# Імітація даних і виклику функції
dummy_data = "всяка корисна інформація"
save_data(dummy_data)
Збереження файлів із датами у їх назвах не тільки спрощує організацію даних, але й полегшує їх пошук у разі необхідності.
Форматування дати та часу — це навичка, що відкриває багато дверей у світі автоматизації. Ваші скрипти стануть точнішими, ваші звіти — зрозумілішими, а також це просто привід порадувати око. І хто знав, що одне лише форматування могло б принести стільки радості?
На цьому ми закінчимо нашу лекцію. Не забудьте попрактикуватися з різними форматами, створюючи свої унікальні звіти і логи. Побачимося на наступному занятті, де ми будемо досліджувати часові інтервали і як вони можуть допомогти автоматизувати задачі на основі часу.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ