как узнать день недели python

Как получить день недели с датой в Python?

Я хочу узнать следующее: учитывая дату ( datetime object), что такое соответствующий день недели.

например, воскресенье-это первый день, понедельник: второй день.. и так далее

а затем, если вход что-то вроде сегодняшней даты.

пример

выход может быть 6 (поскольку пятница)

16 ответов

возвращает день недели как целое число, где 0-это понедельник и воскресенье-6.

Если вы хотите иметь дату на английском языке:

решение без импорта для дат после 1700/1/1

Я решил это для codechef вопрос.

Это решение, если дата является объектом datetime.

datetime library иногда дает ошибки с strptime (), поэтому я переключился на библиотеку dateutil. Вот пример того, как вы можете его использовать :

это работает для меня довольно быстро. У меня возникли проблемы при использовании библиотеки datetime, потому что я хотел сохранить имя дня недели вместо номера дня недели и формат от использования datetime библиотека вызывала проблемы. Если у тебя нет проблем с этим, отлично! Если вы, вы можете эффективно пойти на это, так как он имеет более простой синтаксис. Надеюсь, это поможет.

предполагая, что вам дан день, месяц и год, вы можете сделать:

если вы не полагаетесь исключительно на datetime модуль calendar может быть лучшей альтернативой. Это, например, предоставит вам коды дня:

и это даст вам тот день:

или в стиле python, как один лайнер:

Если у вас есть причины избегать использования модуля datetime, то эта функция будет работать.

Примечание: предполагается, что переход от юлианского к григорианскому календарю произошел в 1582 году. Если это неверно для интересующего вас календаря, измените строку если год > 1582: соответственно.

Источник

Как мне получить день недели, учитывая дату в Python?

Я хочу узнать следующее: учитывая дату ( datetime object), каков соответствующий день недели.

например, воскресенье-это первый день, понедельник: второй день.. и так далее

а затем, если вход что-то вроде сегодняшней даты.

пример

выход может быть 6 (поскольку пятница)

20 ответов:

возвращает день недели в виде целого числа, где понедельник равен 0, а воскресенье-6.

Если вы хотите иметь дату на английском языке:

решение без импорта для дат после 1700/1/1

это решение, если дата является объектом datetime.

библиотека datetime иногда дает ошибки с strptime () поэтому я переключился на библиотеку dateutil. Вот пример того, как вы можете использовать его :

это работает для меня довольно быстро. У меня возникли проблемы при использовании библиотеки datetime, потому что я хотел сохранить имя дня недели вместо номера дня недели и формат от использования datetime библиотека вызывала проблемы. Если у вас нет проблем с этим, отлично! Если да, то вы можете эффективно пойти на это, поскольку он также имеет более простой синтаксис. Надеюсь, это поможет.

предполагая, что вам дан день, месяц и год, вы можете сделать:

если вы не только полагаетесь на datetime модуль calendar может быть лучшей альтернативой. Это, например, предоставит вам коды дня:

и это даст вам тот день:

или в стиле python, как один лайнер:

Если у вас есть причины избегать использования модуля datetime, то эта функция будет работать.

Примечание: предполагается, что переход от юлианского к григорианскому календарю произошел в 1582 году. Если это не относится к интересующему вас календарю, измените строку если год > 1582: соответственно.

Если вы хотите иметь дату на английском языке:

чтобы получить воскресенье как 1 Через субботу как 7, это самое простое решение вашего вопроса:

Использование Модуля Canlendar

вот как преобразовать список дат в дату

#план такой: определяем первое число года первого месяца падает на какой день
#недели отсчитываем сколько дней нужно ждать до среды и отдельно до воскресенья
#далее выяснив сколько дней в году у нас есть минусуем их прожданными днями до
#первой среды и получившийся остаток дней так как мы на первой среде делим на
#промежуток в семь дней до следующей среды и выясняем сколько этих сред таким
#образом будет а дробный остаток выкидываем команда посчитать без остатка сразу
#это // например 366 // 7 = итог целое колво дней без кусочков но это если первый
#день сразу нужный попадется правда а теперь тоже самое дело для воскресений
#сколько до перв. воскр. прождали вычтеным из нашего запаса дней оставшихся
#до конца года пока ждали этого воскр. и делим узнаем колво воскресений в году
#так между ними всегда 7 дней же промежуток кажись. Теперь воплощаем план

Источник

Работа с датой и временем в Python

как узнать день недели python. datetime python. как узнать день недели python фото. как узнать день недели python-datetime python. картинка как узнать день недели python. картинка datetime python.

Python содержит несколько инструментов, которые разработчик может использовать для работы с датой и временем. В данном разделе статье мы рассмотрим модули datetime и time. Мы изучим принципы их работы и способы их применения. Начнем с модуля datetime.

Модуль datetime

Мы изучим следующие классы модуля:

Благодаря этим классам мы в будущем сможем работать с большей частью случаев, в которых нам понадобятся объекты date и datetime. Также существует класс tzinfo, который применяется для работы с часовыми поясами. Для дополнительной информации об этом классе вы можете обратиться к документации Python.

datetime.date

Python может представлять даты различными способами. Для начала, рассмотрим формат datetime.date, так как это один из самых простых объектов date.

В данном коде показано, как создать простой объект даты. Класс date принимает три аргумента: год, месяц и день. Если вы укажите неправильное значение, вы увидите ошибку ValueError, как в случае выше. В противном случае вы увидите, что объект datetime.date вернулся. Давайте взглянем на еще один пример:

Здесь мы присваиваем объекту date переменную d. Теперь мы можем получить доступ к различным компонентам даты по названиям, таким как d.year или d.month. Давайте посмотрим, какой сейчас день:

Это может быть полезно, когда вам нужно записать, какой сейчас день. Или, если вам нужно выполнить основанный на сегодняшней дате расчет. Мелочь, а приятно.

datetime.datetime

Объект datetime.datetime содержит всю информацию объектов datetime.date плюс datetime.time. Давайте приведем несколько примеров, для лучшего понимания разницы между этим объектом, и объектом datetime.date.

Мы видим, что datetime.datetime принимает несколько дополнительных аргументов: год, месяц, день, час, минута и секунда. Это также позволяет вам указывать информацию о микросекундах и часовом поясе. При работе с базами данных, данные типы объектов будут использоваться достаточно часто. Большую часть вашей работы, вам нужно будет конвертировать форматы date или datetime Python в форматы SQL datetime или timestamp. Обратите внимание на то, что today совместно с datetime.datetime использует два разных метода:

Модуль datetime содержит другой метод, под названием strftime. Этот метод позволяет разработчику создавать строку, отображающую время в более понятной для человека форме. Существует целая таблица параметров форматирования, с которой рекомендуется ознакомиться в документации Python, в секции 8.1.7. Давайте взглянем на несколько примеров, показывающих всю полезность данного метода:

Первый пример – это скорее хитрость. В нем показано, как конвертировать сегодняшний объект datetime в строку, следующую за форматом YYYYMMDD (ГГГГММДД). Второй пример более наглядный.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

В нем мы присваиваем объект datetime переменной под названием today и применяем два разных параметра форматирования строки. Первый параметр добавляет косые черточки между элементами datetime, а также перегруппировывает datetime, теперь он делится на месяц, день и год. В последнем примере мы создаем временную отметку, которая следует типичному формату: YYYY-MM-DD.HH.MM.SS. Если вам нужно указать год как двухзначный (“YY”), вы можете заменить %Y на %y.

datetime.timedelta

Объект datetime.timedelta отображает длительность времени. Другими словами, это разница между двумя датами или временными отметками. Давайте взглянем на наглядный пример:

Мы создали два объекта datetime. Один указывает на сегодняшний день, второй – на прошедшую неделю. После этого, мы берем разницу между ними. Это возвращает объект timedelta, который мы можем далее использовать, чтобы выяснить, сколько прошло дней или секунд, между этими двумя датами. Если вам нужно узнать количество часов или минут между двумя датами, вам понадобится немножко математики, чтобы выяснить это. Давайте взглянем на проверенный способ:

Отсюда мы узнаем, что в неделе 186 часов и 13 минут. Обратите внимание на то, что мы используем двойную косую черту в качестве нашего оператора деления, также известного как floor division. Теперь мы готовы к тому, чтобы узнать больше о модуле time Python.

Модуль time

Модуль time открывает разработчику Python доступ к нескольким связанным со временем функциям. Модуль основан на «эпохе», точке, с которой начинается время. Для систем Unix, эпоха началась в 1970 году. Чтобы узнать, какая эпоха в вашей системе, попробуйте запустить следующий код:

Я запустил его на Windows 7, которая также уверена в том, что начало времен датируется 1970м годом. В любом случае, в данном разделе мы ознакомимся со следующими функциями:

Источник

Как узнать день недели python

Даты, времена и календари в Python

Даты, времена и календари в Python

Изменение цен на нефть со временем, изменение температуры за день, уровень цен за месяц, доходы за год – все эти компоненты объединяет время. В Data Science часто приходится сталкиваться с временными рядами. Сегодня мы расскажем о стандартных модулях Python, которые предоставляют интерфейс для дат и времени: time, datetime, calendar.

3 основных модуля

В комплекте стандартных библиотек Python имеются три основных модуля для работы со временем, датами и календарем:

Далее мы рассмотрим, как их можно использовать в реальных проектах Data Science и повседневных задачах Python-программиста.

Модуль time для отсчета времени

Время в Python отсчитывается в секундах от начала эпохи. Эпоха может отличаться для разных операционных систем. Для Unix-систем эпоха – это январь 1970 года 00:00:00. Чтобы узнать, какая эпоха на компьютере, используется функция time.gmtime(0) :

Считаем время в Python

Чтобы узнать, сколько прошло секунд с эпохи до настоящего времени, в Python используется функция time :

Можно получить объект time_struct с нынешним временем в вашем часовом поясе, для этого есть localtime :

Получить полный форматированный вариант в читаемом виде поможет функция time.asctime() :

Более удобный формат времени

Здесь %a означает день недели, %d – день месяца, а %Y – год. Полный список доступен в официальной документации.

Из строки в time_stuct

А вот получить из строки (str) соответствующий объект time_struct можно с помощью функции strptime:

Засыпаем на некоторое время

Иногда требуется сымитировать действие, которое занимает определенное время. На помощь придет функция sleep, которая аргументом принимает секунды:

Работаем с датами

Объект time принимает часы, минуты и секунды:

Объект datetime принимает все вышеперечисленное:

Сейчас и сегодня

В Python можно получить сегодняшнюю дату:

А также, текущую дату и время:

Получаем даты из ISO-формата

Помимо прочего, можно получить дату из ISO формат с видом YYYY-MM-DD:

Формат даты из строки

Как и время из модуля time, объект datetime имеет методы strptime и strftime для получение строки из даты и наоборот:

Из секунд в даты

Как уже было сказано, time.time возвращает количество секунд, которые начинаются с эпохи. Эти секунды также можно перевести в дату и время:

Сколько времени прошло

Например, можно получить разницу между сегодняшним и вчерашним днями:

Для более точного подсчета можно добавить часы, минуты, секунды.

Работаем с календарем

Печатаем календарь на месяц

В Python можно получить календарь в читаемом формате с помощью prmonth:

Печатаем календарь на год

А вот функция prcal напечатает весь календарь заданного года:

Дни недели

Что не перечислять дни недели самостоятельно (Monday, Tuesday и т.д), можно использовать готовые перечисления. Также с функцией weekday можно узнать день недели заданного дня:

Еще больше подробностей вы сможете о работе со временем, датами и временными рядами в целом, вы узнаете на наших Python-курсах в лицензированном учебном центре обучения и повышения квалификации IT-специалистов в Москве.

Источник

Как использовать модуль datetime в Python

Datetime — важный элемент любой программы, написанной на Python. Этот модуль позволяет управлять датами и временем, представляя их в таком виде, в котором пользователи смогут их понимать.

datetime включает различные компоненты. Так, он состоит из объектов следующих типов:

Как получить текущие дату и время?

Получить текущую дату в Python

Класс date можно использовать для получения или изменения объектов даты. Например, для получения текущей с учетом настроек подойдет следующее:

Текущая дата — 2020-11-14 в формате год-месяц-день соответственно.

Получить текущее время

Для получения текущего локального времени сперва нужно получить текущие дату и время, а затем достать из этого объекта только время с помощью метода time() :

Компоненты datetime в Python

В этом руководстве речь пойдет о следующих элементах:

Как создавать объекты даты и времени

В этом примере создается объект времени представленный следующим образом (8, 48, 45).

Для создания объекта даты нужно передать дату с использованием следующего синтаксиса:

Вернет вот такой результат:

Timedelta

Все аргументы опциональные и их значения по умолчанию равно 0. Они могут быть целыми или числами с плавающей точкой, как положительными, так и отрицательными. Благодаря этому можно выполнять математические операции, такие как сложение, вычитание и умножение.

Как вычислить разницу для двух дат

Посмотрим на несколько примеров вычисления разницы во времени. Предположим, есть два объекта datetime :

Для получения разницы нужно лишь вычесть значение одного объекта из второго:

Таким образом между 2 и 30 октября 2020 года 28 дней.

Как вычислить разницу двух объектов datetime.time

Такой код вернет следующую ошибку:

Как получать прошлые и будущие даты с помощью timedelta

Поскольку timedelta — это длительность, то для получения прошлой или будущей даты нужно добавить объект timedelta к существующему или вычесть из него же. Вот пример нескольких уравнений, где n — это целое число, представляющее количество дней:

Если нужно, например, получить дату за прошлые две недели, то достаточно вычесть 14 дней из текущей даты:

Предположим, вы задумали практиковать определенный навык в течение 21 дня. Для получения будущей даты нужно добавить 21 день к текущей дате:

Другие арифметические операции с timedelta

Значения даты и времени могут сравниваться для определения того, какая из них была раньше или позже. Например:

Часовые пояса

Пока что мы работали с datetime без учета часовых поясов и летнего времени. Но прежде чем переходить к следующим пунктам, нужно разобраться с разницей в абсолютных (naive) и относительных (aware) датах.

Абсолютные даты не содержат информацию, которая бы могла определить часовой пояс или летнее время. Однако с такими намного проще работать.

Относительные же содержат достаточно информации для определения часового пояса или отслеживания изменений из-за летнего времени.

Разница между DST, GMT и UTC

Как работать с часовыми поясами

Рассмотрим, как создать простой относительный объект datetime :

Предположим, нужно получить текущее время для Найроби. Для этого нужно использовать конкретный часовой пояс. Для начала можно с помощью pytz получить все существующие часовые пояса.

Вот некоторые из них:

Для получения времени в Найроби:

А вот так можно получить время Берлина:

Здесь можно увидеть разницу в часовых поясах разных городов, хотя сама дата одна и та же.

Конвертация часовых поясов

При конвертации часовых поясов в первую очередь нужно помнить о том, что все атрибуты представлены в UTC. Допустим, нужно конвертировать это значение в America/New_York :

Другие практические примеры

Всегда храните даты в UTC. Вот примеры:

Как конвертировать строки в datetime

strptime() в Python — это метод из модуля datetime. Вот его синтаксис:

Аргументы формата необязательные и являются строками. Предположим, нужно извлечь текущие дату и время:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *