Текущая дата и время в Python
Время и дата играют важнейшую роль при решении определенных задач в программировании. Разработчику на Python приходится нередко использовать точные значения текущей (current) даты, к примеру, при сохранении информации в базе данных, вычислениях, регистрации, обеспечении доступа и т. д. В этой статье пойдет разговор о том, как узнать текущие временные значения с помощью модуля datetime. Вдобавок к этому, читатель узнает о временных настройках для разных часовых поясов и преобразовании объектов datetime в метки времени Unix.
Получаем текущую дату и время
Datetime включает в себя разные классы, позволяющие получать нужные временные данные:
- datetime.date: день, месяц и год;
- datetime.time: время в часах, минутах, секундах, а также микросекундах. Тут дата значения не имеет;
- datetime.datetime: здесь хранятся атрибуты date и time.
Для примера можно вывести в терминал текущую (current) дату и время. Можно воспользоваться объектом datetime.datetime — из него довольно просто извлекаются объекты date и time. Сначала следует импортировать требуемый модуль:
from datetime import datetime
Да, это выглядит странновато, т. к. речь идет о получении класса datetime из модуля datetime, однако это 2 разные вещи. Далее следует воспользоваться функцией now() — она позволит получить объект с текущим временем и датой.
from datetime import datetime
Набрав код выше, вы увидите на экране следующее (в вашем случае вывод изменится, ведь минуты не стоят на месте):
Что произошло? Функция now() отобразила объект, причем с датой и временем создания этого самого объекта. В результате была выведена соответствующая строка. Однако никто не мешает получить временные атрибуты отдельно:
Таким образом, метод now() вполне годится для получения текущей даты и времени. Но что делать, если надо получить лишь дату?
Работа с датой current
Существуют 2 способа получения текущей даты. Первый выводит нужные данные из объекта datetime посредством метода date() :
Во втором применяется метод today() класса date:
Класс datetime.date позволяет получать календарную дату. Также следует добавить, что его атрибуты (year, month, day) бывают доступны и отдельно, как в примере с datetime.
Тут все понятно и просто. Но есть нюанс: если надо получить день недели, прописывают current_date.weekday()+1 . Дело в том, что нумерация дней недели начинается с нуля, то есть понедельник — это 0, вторник — 1, среда — 2 и так далее. Если такое положение вещей устраивает, +1 можно и не добавлять.
А как поступить, если надо отобразить текущее время отдельно от даты?
Работаем с текущим временем
Текущее время от объекта datetime получают посредством метода time() . Вот как это выглядит:
Здесь отдельно получить часы, минуты, секунды и микросекунды не представляется возможным, да в этом и нет необходимости, т. к. само понятие времени суток не предполагает другого отображения.
Важно отметить, что есть возможность получить временные данные и с учетом нужного часового пояса (timezone). Как и что используется, поговорим ниже.
Другой часовой пояс: временные зоны (timezones)
Метод now() принимает в Python временную зону в качестве аргумента, так что объект datetime генерируется соответствующим образом.
Для получения информации с учетом часового пояса необходимо задействовать библиотеку pytz (если ее нет, потребуется инсталляция, для чего подойдет команда pip3 install pytz ).
Так как я нахожусь в Минске, давайте получим текущие временные значения (times) именно для Минска:
Строка в коде minsk_current_datetime является объектом datetime, то есть все то же самое, что и ранее, но уже в полном соответствии с часовым поясом Республики Беларусь.
Когда надо узнать время в UTC, тоже пригодится модуль pytz:
Получить время UTC можно и без модуля pytz, т. к. datetime имеет полезное свойство timezone. Что же, давайте задействуем свойство timezone:
Таким образом, можно без проблем преобразовать текущие даты и значения времени в различные часовые пояса.
Преобразование временных меток
Также может быть очень полезным преобразовывать время в один из самых широко применяемых форматов в вычислениях. Речь идет о временных метках Unix.
Доподлинно известно, что компьютерные системы измеряют время не так, как люди. Здесь за основу берется число секунд, которые прошли с начала Unix-эпохи, то есть с 00:00:00 UTC 1.01.1979. Базы данных, протоколы и приложения обычно задействуют временную метку.
Для ее получения в «Питоне» пригодится модуль time, следовательно, первая строка будет import time :
Функция time.time() возвращает пользователю число с плавающей запятой и с временной меткой Unix.
На этом все. Очень надеемся, что вы получили некоторое представление об использовании встроенных Python-библиотек и модулей, необходимых для отображения временных значений.
Как получить текущее время в секундах?
Мне нужно получить нынешнее время в секундах. Как я могу это сделать? С помощью time.time() я получаю неправильные данные, то есть не 2021 год, а 51 год.
Отслеживать
задан 10 дек 2021 в 19:18
142 1 1 серебряный знак 7 7 бронзовых знаков
Покажите, пожалуйста, как вы получаете 51 год?
10 дек 2021 в 19:36
S. Nick задал хороший вопрос. Моё предположение: Очень похоже, что просто пересчитывается количество секунд в года, дни. минуты и т.д. Просто не учитывается, что это отсчёт от начала Unix epoch. Или я ошибаюсь? Действительно, как получается?
10 дек 2021 в 19:42
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
time.time() возвращает текущее время в секундах отсчитваемых от 1-го Января 00:00:00 1970 г. Отсюда и 51 год 🙂 Определитесь от которой точки во времени вам нужно отсчитывать секунды и соответственно пересчитайте. Откуда вам нужно время в секундах? От Рождества Христова, т.е. от начала нашей эры? Если, да то довольно муторное занятие, нужно будет обрабатывать високосные годы.
Отслеживать
ответ дан 10 дек 2021 в 19:27
131 5 5 бронзовых знаков
Если считать от нашей эры,то
import datetime (datetime.datetime.now() - datetime.datetime(1, 1, 1, 0, 0)).total_seconds()
Високосные года учитываются, но
Но всеравно не будет 2021 потому как наша эра началась в первом году. Нулевого никогда не было несмотря на ISO8601 и Питон его не поддерживает.
Хотя можно добавить виртуальный год
(datetime.datetime.now()-datetime.datetime(1,1,1)+ datetime.timedelta(days=366)).total_seconds()
738499 дней в итоге.
Разделим эти дни на года тупым методом:
>>> def ygen(): . while True: . yield 366 . yield 365 . yield 365 . yield 365 . >>> d = 738499 >>> yg=ygen() >>> y=0 >>> while d>365: . d-=next(yg) . y+=1 . >>> y 2021 >>> d 328
И получается 2021 год и 328 дней от нулевого года — что-то маловато. гдето потерялась пара недель =) (сегодня 344 день)
>>> def vis(y): . if y % 400 == 0: return 366 . if y % 100 == 0: return 365 . if y % 4 == 0: return 366 . return 365 . >>> >>> d = 738499 >>> y = 0 >>> >>> while d>=vis(y): . d -= vis(y) . y += 1 . >>> d 343 >>> y 2021
343 дня прошло, идет 344ый — вроде все сошлось
Как получить текущую дату и время в Python
Регистрация, сохранение записей в базе данных и доступ к файлам — все это общие задачи, над которыми работает программист. В каждом из этих случаев дата и время играют важную роль в сохранении значения и целостности данных. Программистам часто приходится взаимодействовать с датой и временем.
В этой статье мы узнаем, как получить текущую дату и время, используя встроенный в Python модуль datetime. С помощью этого модуля мы можем получить все соответствующие данные в одном объекте или извлечь дату и время отдельно.
Мы также узнаем, как настроить дату и время для разных часовых поясов. Наконец, мы рассмотрим преобразование объектов datetime в популярные метки времени Unix или Epoch.
Получение текущей даты и времени с datetime
Модуль datetime содержит различные классы, чтобы получить информацию о дате и времени:
- datetime.date : Хранит день, месяц и год
- datetime.time : Хранит время в часах, минутах, секундах и микросекундах. Эта информация не зависит от даты
- datetime.datetime : Хранит атрибуты date и time
Получим текущую дату и время с объектом datetime.datetime , так как из него легче извлечь объекты date и time . Для начала давайте импортируем модуль datetime :
from datetime import datetime
Поначалу это выглядит странно, но мы получаем класс datetime из модуля datetime , это две разные вещи.
Мы можем использовать функцию now() , чтобы получить объект с текущей датой и временем:
current_datetime = datetime.now() print(current_datetime)
Запуск этого файла даст нам следующий вывод:
2019-12-13 12:18:18.290623
Функция now() дала нам объект со всей датой и временем его создания. Когда мы его печатаем, Python автоматически форматирует объект в строку, чтобы люди могли его легко прочитать.
Вы можете получить отдельные атрибуты даты и времени следующим образом:
print(current_datetime.year) # 2019 print(current_datetime.month) # 12 print(current_datetime.day) # 13 print(current_datetime.hour) # 12 print(current_datetime.minute) # 18 print(current_datetime.second) # 18 print(current_datetime.microsecond) # 290623
Метод now() идеально подходит для захвата текущего времени и даты. Однако, это излишне, когда вы заботитесь только о дате или времени, но не обоих. Как мы можем получить только информацию о дате?
Получение текущей даты
Есть два способа получить текущую дату в Python. В консоли Python мы можем получить дату из объекта datetime с помощью метода date() :
>>> from datetime import datetime >>> current_date = datetime.now().date() >>> print(current_date) 2019-12-13
Тем не менее, это кажется пустой тратой на инициализацию объекта datetime только для захвата даты. Альтернативой может быть использование метода today() класса date :
>>> from datetime import date >>> current_date = date.today() >>> print(current_date) 2019-12-13
Класс datetime.date представляет собой календарную дату. Его атрибуты year , month и day могут быть доступны так же, как мы обращаемся к ним в объекте datetime .
Например, этот оператор print получает каждый атрибут, а также использует метод weekday() для получения дня недели:
>>> print("It's the %dth day of the week, %dth day of the %dth month of the %dth year" % . (current_date.weekday()+1, current_date.day, current_date.month, current_date.year)) It's the 5th day of the week, 13th day of the 12th month of the 2019th year
Примечание: Метод weekday() возвращает целое число от 0 до 6 для представления дня недели. 0 соответствует понедельнику. Поэтому в нашем примере мы добавили 1, чтобы напечатать 5-й день недели (пятница), хотя метод weekday() вернул 4.
Теперь, когда мы можем получить текущую дату самостоятельно, давайте посмотрим, как мы можем получить текущее время
Получение текущего времени
Мы фиксируем текущее время от объекта datetime , используя метод time() :
>>> from datetime import datetime >>> current_time = datetime.now().time() >>> print(current_time) 12:18:18.290623
В отличие от получения дат, здесь нет ярлыка для непосредственного отображения текущего времени. Класс datetime.time представляет собой понятие времени как в часах, минутах, секундах и микросекунд — все, что меньше, чем один день.
Как и объект datetime , мы можем получить доступ к его атрибутам напрямую. Вот пример, как мы печатаем current_time в предложении:
>>> print("It's %d o'clock. To be exact, it's %d:%d and %d seconds with %d microseconds" % . (current_time.hour, current_time.hour, current_time.minute, current_time.second, current_time.microsecond)) It's 12 o'clock. To be exact, it's 12:18 and 18 seconds with 290623 microseconds
По умолчанию функция now() возвращает время вашего местного часового пояса. Что если нам нужно будет преобразовать его в другой, который был установлен в настройках пользователя? Давайте посмотрим, как мы можем предоставить информацию о часовом поясе для получения локализованных объектов time .
Получение текущей даты и времени в другом часовом поясе
Метод now() принимает временную зону в качестве аргумента, так что объект datetime генерируется соответствующим образом. Во-первых, нам нужно получить данные о часовом поясе через библиотеку pytz.
Установите библиотеку pytz :
$ pip3 install pytz
Теперь давайте используя pytz получим текущую дату и время, если бы мы были в Берлине:
>>> import pytz >>> from datetime import datetime >>> tz = pytz.timezone('Europe/Berlin') >>> berlin_current_datetime = datetime.now(tz) >>> print(berlin_current_datetime) 2019-12-14 00:20:50.840350+01:00
berlin_current_datetime будет объектом datetime со всеми свойствами и функциями, которые мы видели ранее, но теперь он полностью соответствует часовому поясу Берлина.
Если вы хотите узнать время в UTC, вы можете использовать модуль pytz , как и раньше:
>>> import pytz >>> from datetime import datetime >>> utc_current_datetime = datetime.now(pytz.timezone("UTC")) >>> print(utc_current_datetime) 2019-12-13 23:20:50.840350+00:00
Кроме того, для времени UTC вам не нужно использовать модуль pytz вообще. Модуль datetime имеет свойство timezone , которое может быть использовано, как в примере:
>>> from datetime import datetime, timezone >>> utc_current_datetime = datetime.now(timezone.utc) >>> print(utc_current_datetime) 2019-12-13 23:20:50.840350+00:00
Теперь, когда мы можем преобразовать наши даты и время в разные часовые пояса, давайте посмотрим, как мы можем преобразовать его в один из наиболее широко используемых форматов в вычислениях — временные метки Unix.
Преобразование меток времени в даты и время
Компьютерные системы измеряют время на основе количества секунд, прошедших с начала эпохи Unix, то есть 00:00:00 UTC 1 января 1970 года. Приложения, базы данных и протоколы обычно используют временную метку для отображения времени.
Вы можете получить текущую метку времени в Python, используя модуль time :
>>> import time >>> print(time.time()) 1576280665.0915806
Функция time.time() возвращает число с плавающей запятой с меткой времени Unix. Вы можете преобразовать метку времени в объект datetime , используя функцию fromtimestamp() :
>>> from datetime import datetime >>> print(datetime.fromtimestamp(1576280665)) 2019-12-13 19:44:25
fromtimestamp() по умолчанию возвращает объект datetime в вашем часовом поясе. Вы можете указать часовой пояс в качестве второго аргумента, если хотите, чтобы он был локализован по-другому.
Например, чтобы преобразовать метку времени в объект datetime в формате UTC, вы можете сделать это:
>>> from datetime import datetime, timezone >>> print(datetime.fromtimestamp(1576280665, timezone.utc)) 2019-12-13 19:44:25+00:00
И наоборот, вы можете использовать метод timestamp() для преобразования объекта datetime в допустимую метку времени:
>>> from datetime import datetime, timezone >>> print(datetime.now(timezone.utc).timestamp()) 1577117555.940705
Вывод
Встроенная Python библиотека datetime позволяет нам получать текущую дату и время с помощью функции now() . Мы можем использовать возвращенный объект datetime , чтобы извлечь только часть даты или часть времени. Мы также можем получить текущую дату с помощью функции today() .
По умолчанию Python создает объекты datetime в нашем местном часовом поясе. Если мы используем библиотеку pytz , мы можем конвертировать даты и время в разные часовые пояса.
Наконец, мы использовали функцию fromtimestamp() для получения метки времени Unix для получения объекта datetime . Если у нас есть объект datetime , мы можем получить метку времени, используя его метод timestamp() .
Дата и время Python, времяDelta, Strftime(Формат) с примерами
В Python дата, время и дата-время Классы предоставляют ряд функций для работы с датами, временем и временными интервалами. Дата и дата-время в Python являются объектами, поэтому, когда вы манипулируете ими, вы фактически манипулируете объектами, а не строками или временными метками. Всякий раз, когда вы манипулируете датами или временем, вам необходимо импортировать функцию datetime.
Классы datetime в Python разделены на пять основных классов.
- date – манипулировать только датой (месяц, день, год)
- время – время, независимое от дня (час, минута, секунда, микросекунда)
- datetime – комбинация времени и даты (месяц, день, год, час, секунда, микросекунда)
- времяdelta— Продолжительность времени, используемая для манипулирования датами.
- tzinfo — абстрактный класс для работы с часовыми поясами.
Как использовать класс Date и DateTime
Шаг 1) Прежде чем запускать код формата даты и времени в Python, важно импортировать модули даты и времени Python, как показано на снимке экрана ниже.
Эти операторы импорта представляют собой предварительно определенные функции библиотеки Python, которые позволяют вам манипулировать датами и временем без написания какого-либо кода.
Рассмотрим следующееwing точки перед выполнением кода формата даты и времени Python
from datetime import date
Эта строка сообщает интерпретатору Python импортировать класс даты из модуля datetime в Python. Мы не пишем код для этой функции даты, а просто импортируем ее для нашего использования.
Шаг 2) Далее мы создаем экземпляр объекта даты.
Шаг 3) Далее печатаем дату и запускаем код.
Результат соответствует ожиданиям.
Распечатайте дату, используя date.today()
date.today Функция имеет несколько свойств, связанных с ней. Мы можем напечатать отдельные дни/месяцы/годы и многое другое.
Давайте посмотрим пример
Сегодняшний номер дня недели
Функция date.today() также дает вам номер дня недели. Вот таблица дней недели, которая начинается с Monday как 0 и воскресенье как 6
день | Номер дня недели |
---|---|
Monday | 0 |
вторник | 1 |
Wednesday | 2 |
четверг | 3 |
пятница | 4 |
Сб | 5 |
Воскресенье | 6 |
Номер дня недели полезен для массивов, индекс которых зависит от дня недели.
Текущая дата и время Python: now() Today()
Шаг 1) Как и объекты даты, мы также можем использовать «ОБЪЕКТЫ ДАТА-ВРЕМЯ» в Python. Объекты даты и времени Python предоставляют дату и время в hours, минуты, секунды и миллисекунды.
Когда мы выполняем код для datetime, он выдает выходные данные с текущей датой и временем.
Шаг 2) С помощью «DATETIME OBJECT» вы также можете вызвать класс времени.
Предположим, мы хотим напечатать только текущее время без даты.
t = datetime.time(datetime.now())
- Мы импортировали класс времени. Мы будем присваивать ему текущее значение времени, используя datetime.now().
- Мы присваиваем значение текущего времени переменной t.
И это даст мне как раз время. Итак, давайте запустим эту программу.
Хорошо, вы можете видеть, что здесь у меня есть дата и время. И затем следующая строка: у меня есть время само по себе.
Шаг 3) Мы применим наш индексатор дней недели к массивуList наших дней недели, чтобы узнать, какой день сегодня.
- по будням operator (wd) присваивается номер от (0 до 6) в зависимости от текущего дня недели. Здесь мы объявили массив списка дней (Пн, Вт, Ср…Вс).
- Используйте это значение индекса, чтобы узнать, какой сегодня день. В нашем случае это номер 2, и он представляет среду, поэтому в результате будет напечатано «Которая является средой».
Вот полный код для получения текущей даты и времени, используя datetime сейчас.
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print (today) # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd=date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print("Today is day number %d" % wd) print("which is a " + days[wd]) if __name__== "__main__": main()
Как отформатировать вывод даты и времени с помощью Strftime()
На данный момент мы узнали, как использовать дату и время. объект в Python. Мы сделаем еще один шаг вперед и узнаем, как использовать функцию форматирования для форматирования времени и даты.
Шаг 1) Сначала мы увидим простой шаг, как отформатировать год. Лучше понять на примере.
- Мы использовали «функция strftime» для форматирования.
- Эта функция использует разные контрольный код дать вывод.
- Каждый код управления соответствует различным параметрам, таким как год, месяц, день недели и дата. [(%y/%Y – год), (%a/%A- день недели), (%b/%B- месяц), (%d – день месяца)] .
- В нашем случае это («%Y») который напоминает год, распечатывает полный год с указанием столетия (например, 2018).
Шаг 2) Теперь, если вы замените («%Y») строчными буквами, т. е. ( «%y) и выполните код, на выходе будет отображаться только (18), а не (2018). Столетие года не будет отображаться, как показано на скриншоте ниже.
Шаг 3) Функция Strf может объявлять дату, день, месяц и год отдельно. Также небольшими изменениями в управляющем коде функции strftime можно форматировать стиль текста.
Внутри функции strftime, если вы замените (%a) заглавной буквой A, то есть (%A), выходные данные будут напечатаны как «Пятница», а не просто сокращение «Пятница».
Шаг 4) С помощью функции «Strftime» мы также можем получить локальное системное время, дату или и то, и другое.
- %C- указывает местную дату и время.
- %x- указывает местную дату
- %X- указывает местное время
На выходе вы можете увидеть результат, как и ожидалось.
Шаг 5) «Функция strftime» позволяет вызвать время в любом формате 24 hours или 12 hours.
Просто определив управляющий код, например %I/H для часа, % M для минуты, %S для секунды, можно вызвать время для разных форматов.
12 часа время объявлено [print now.strftime(«%I:%M:%S %p)]
24 часа время объявлено [print now.strftime(«%H:%M»)]
Вот полный код для преобразования даты и времени в объект String.
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print(now.strftime("%c")) print(now.strftime("%x")) print(now.strftime("%X")) ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM print(now.strftime("%H:%M")) # 24-Hour:Minute if __name__== "__main__": main()
Сколько времениdelta в Python?
Времяdelta в Python — это объект, который представляет продолжительность. В основном он используется для расчета продолжительности между двумя датами и временем. Он также используется для извлечения объекта с помощью некоторых delta Дата и время. Времяdelta объект поддерживает математические operaтакие операции, как сложение, вычитание, умножение, деление и т. д.
Как использовать времяdelta Объекты
Со временем Pythondelta объектов, вы можете оценить время как для будущего, так и для прошлого. Другими словами, это промежуток времени, позволяющий предсказать какой-либо особый день, дату или время.
Помните, что эта функция предназначена не для распечатки времени или даты, а для РАСЧЕТА будущего или прошлого.. Давайте посмотрим время Pythondelta пример, чтобы лучше понять это.
Шаг 1) Чтобы запустить Времяdelta Объекты, вам нужно сначала объявить оператор импорта, а затем выполнить код.
- Напишите оператор импорта для времениdelta
- Теперь напишите код для распечатки объекта по времени. delta как показано на снимке экрана
- Запустите код. Времяdelta представляет промежуток в 365 дней, 8 часов и 15 минут и печатает то же самое
Сбивает с толку? Следующий шаг поможет-
Шаг 2) Давайте получим сегодняшнюю дату и время, чтобы проверить, хорошо ли работает наш оператор импорта. Когда код выполняется, он печатает сегодняшнюю дату, что означает, что наш оператор импорта работает хорошо.
Шаг 3) Посмотрим, как мы сможем получить дату через год. delta объекты. Когда мы запускаем код, он выдает ожидаемый результат.
Шаг 4) Еще один пример того, как время delta может использоваться для расчета будущей даты на основе текущей даты и времени
Шаг 5) Давайте посмотрим на более подробную информациюplex пример. Я хотел бы определить, сколько дней осталось до Нового года. Вот как мы будем действовать
- Используя Today= date.today(), мы получим сегодняшнюю дату.
- Мы знаем, что Новый год всегда приходится на 1 января, но год может быть другим. Используя nyd= date(today.year,1,1), мы сохраняем новый год в переменной nyd.
- если ньюд
- ((today-nyd).days) показывает разницу между текущей датой и новым годом в ДНЯХ.
Вывод показывает, что «Новый год уже прошел 11 дней назад».
Вот полный рабочий код
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print (timedelta(days=365, hours=8, minutes=15)) # print today's date print ("today is: " + str(datetime.now())) # print today's date one year from now print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365))) # create a timedelta that uses more than one argument # print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print ("New Year day is already went by %d days ago" % ((today - nyd).days))
Пример Python 2
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print today # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd = date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print "Today is day number %d" % wd print "which is a " + days[wd] if __name__== "__main__": main()
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print now.strftime("%c") print now.strftime("%x") print now.strftime("%X") ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM print now.strftime("%H:%M") # 24-Hour:Minute if __name__== "__main__": main()
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print timedelta(days=365, hours=8, minutes=15) # print today's date print "today is: " + str(datetime.now()) # print today's date one year from now print "one year from now it will be:" + str(datetime.now() + timedelta(days=365)) # create a timedelta that uses more than one argument # print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print "New Year day is already went by %d days ago" % ((today - nyd).days)
Обзор
Для управления датами и временем как в простом, так и в обычном режиме.plex способы, которыми модуль datetime предоставляет различные классы или категории, такие как
- date – манипулировать только датой (месяц, день, год)
- время – время, независимое от дня (час, минута, секунда, микросекунда)
- datetime – комбинация времени и даты (месяц, день, год, час, секунда, микросекунда)
- времяdelta— Продолжительность времени, используемая для манипулирования датами.
- tzinfo — абстрактный класс для работы с часовыми поясами.
Использование объектов datetime
- Импорт объектов datetime перед выполнением кода является обязательным.
- Использование функции date.today для печати отдельной даты/месяца/года, а также индексации дня.
- Использование объекта date.time для получения времени hours, минуты, секунды и миллисекунды
Форматирование тайм-аута с помощью функции «str f time»
- Используйте функцию str f time, чтобы изменить формат года.
- Печать дня, числа, месяца и года отдельно,
- Время звонка для любого формата 12 часов или 24 часа
Времяdelta Объекты
- С течением времениdelta объекты, вы можете оценить время как для будущего, так и для прошлого
- Подсчитайте общее количество дней, оставшихся до особого дня (дня рождения) с текущего времени.
- Подсчитать общее количество дней, прошедших в особый день (день рождения) с текущего времени.