Python містить кілька інструментів, які розробник може використовувати для роботи з датою і часом. В даному розділі статті ми розглянемо модулі datetime і time. Ми вивчимо принципи їх роботи і способи їх застосування. Почнемо з модуля datetime.
модуль datetime
Ми вивчимо такі класи модуля:
- datetime.date
- datetime.timedelta
- datetime.datetime
Завдяки цим класам ми в майбутньому зможемо працювати з більшою частиною випадків, в яких нам знадобляться об'єкти date і datetime. Також існує клас tzinfo. який застосовується для роботи з часовими поясами. Для додаткової інформації про це класі ви можете звернутися до документації Python.
datetime.date
Python може представляти дати різними способами. Для початку, розглянемо формат datetime.date. так як це один з найпростіших об'єктів date.
Перший приклад - це швидше хитрість. У ньому показано, як конвертувати сьогоднішній об'єкт datetime в рядок. наступну за форматом YYYYMMDD (РРРРММДД). Другий приклад більш наочний. У ньому ми присвоюємо об'єкт datetime змінної під назвою today і застосовуємо два різних параметра форматування рядка. Перший параметр додає косі риски між елементами datetime, а також перегруповує datetime, тепер він ділиться на місяць, день і рік. В останньому прикладі ми створюємо тимчасову позначку, яка слід типовому формату: YYYY-MM-DD.HH.MM.SS. Якщо вам потрібно вказати рік як двозначний ( "YY"), ви можете замінити% Y на% y.
datetime.timedelta
Об'єкт datetime.timedelta відображає тривалість часу. Іншими словами, це різниця між двома датами або тимчасовими позначками. Давайте поглянемо на наочний приклад:
В даному коді ми показали результати виклику функції time.ctime. як з випадковим набором секунд, починаючи з епохи, так і з пустним значенням. Це можна застосувати, наприклад, в тому випадку, коду кому-небудь потрібно зберегти дату в секундах. починаючи з епохи, після чого конвертувати це в більш удобрюються формат. Трохи простіше, зберегти велике ціле число (або довге) в базу даних, ніж страждати над ним, форматуючи об'єкт datetime в який-небудь об'єкт дати, який приймає база даних. Звичайно, це також має свій недолік: вам, можливо, потрібно буде перетворити ціле число або значення з плаваючою комою назад в рядок.
time.sleep
Функція time.sleep дає розробнику можливість призупинити виконання його скрипта на певну кількість секунд. Це можна порівняти з додаванням функції «Пауза» в вашу програму. Я знайшов цей клас особливо корисним, коли мені потрібно було почекати кілька секунд, поки закриється файл, або база даних закінчить виконувати своє завдання. Давайте поглянемо на приклад. Відкрийте нове вікно в IDLE і збережіть наступний код:
Якщо ви звернетеся до документації. щоб дізнатися більше про модуль time, або якщо ви хочете трохи поекспериментувати, ви знайдете кілька способів використання даної функції.
Підведемо підсумки
З цього моменту ви готові працювати з датою і часом в стандартних модулях Python. Працюючи в Python, ви отримуєте широкий спектр можливостей при роботі з датами. Ви знайдете дані модулі корисними, особливо при розробці програми, яке відстежує зустрічі, або має спрацьовувати в певні дні. Також вони дуже корисні при роботі з базами даних.