- Класс date в Python
- Экземпляр
- Создать сегодняшнюю дату
- Создать дату из отметки времени
- Создать дату из порядкового номера
- Дата из строки ISO
- Атрибуты класса даты
- Атрибуты экземпляра даты
- Операции с timedelta
- Методы
- Замена (год = сам.год, месяц = сам.месяц, день = сам.день)
- timetuple()
- toordinal()
- weekday()
- isoweekday()
- isocalendar()
- isoformat()
- ctime()
- Преобразование в форматированную строку
- Преобразование строки в дату
- Python get month from date
- How do you get the month number from a datetime object in Python?
- Python get month from date
- Pandas get month number from datetime
- Python get year month number from date
- Pandas get year month number from datetime
- Related articles
- References
- Stephen Allwright Twitter
- Как получить месяц как номер, используя Python DateTime?
- Пример 1: Получить номер месяца текущей даты
- Пример 2: Получить номер месяца конкретной даты
- Резюме
- Похожие учебники
- Читайте ещё по теме:
Класс date в Python
Класс date в Python является частью модуля datetime. Объект представляет дату (год, месяц и день) в календаре. 1 января года 1 называется днем номер 1, 2 января года 1 называется днем номер 2 и так далее.
Мы можем создать экземпляр даты, используя следующий заводской метод.
datetime.date(year, month, day)
Все аргументы являются обязательными и должны быть целым числом в допустимом диапазоне.
Значение года должно находиться в диапазоне 1-9999, месяц – в диапазоне 1–12, а день – в диапазоне допустимых дней в данном месяце года.
Если аргумент формирует недопустимую дату, возникает ошибка ValueError.
Экземпляр
Мы можем создать экземпляр даты из фабричного метода.
from datetime import date d = date(2018, 12, 25) print(d)
Есть также несколько методов класса для создания экземпляра даты.
Создать сегодняшнюю дату
Создать дату из отметки времени
import time t = time.time() print(t) d = date.fromtimestamp(t) print(d) d = date.fromtimestamp(1537261418) print(d)
1537265122.553337 2018-09-18 2018-09-18
Создать дату из порядкового номера
d = date.fromordinal(366) print(d)
Дата из строки ISO
В Python 3.7 добавлен новый метод fromisoformat() для создания экземпляра даты из строки формата ISO. Строка ввода должна быть в формате ГГГГ-ММ-ДД.
# date from ISO string format, added in Python 3.7 d = date.fromisoformat('2018-09-19') print(d)
Атрибуты класса даты
print(date.min) print(date.max) print(date.resolution)
0001-01-01 9999-12-31 1 day, 0:00:00
Атрибуты экземпляра даты
Атрибуты экземпляра даты доступны только для чтения.
d = date.today() print(d.year) print(d.month) print(d.day)
Операции с timedelta
Объект Date поддерживает арифметические операторы с экземпляром timedelta для создания будущих и прошлых дат.
date_tomorrow = date.today() + timedelta(days=1) print(date_tomorrow) date_yesterday = date.today() - timedelta(days=1) print(date_yesterday) td = date_tomorrow - date_yesterday print(td) print(date_tomorrow > date_yesterday)
2018-09-19 2018-09-17 2 days, 0:00:00 True
Методы
Давайте посмотрим на некоторые методы экземпляра даты.
Замена (год = сам.год, месяц = сам.месяц, день = сам.день)
Возвращает экземпляр даты с тем же значением, если только его новое значение не предоставлено с помощью аргументов ключевого слова.
today = date.today() print(today) new_date = today.replace(year=2020) print(new_date)
timetuple()
Вернуть экземпляр time.struct_time, как и time.localtime().
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=18, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=261, tm_isdst=-1)
Обратите внимание, что значение часа, минут и секунд всегда будет 0, а флаг DST всегда будет –1.
toordinal()
Возвращает порядковое значение экземпляра даты.
weekday()
Верните день недели как целое число, где понедельник равен 0, а воскресенье – 6.
print(today.weekday()) # 2018-09-18 is Tuesday
isoweekday()
Верните день недели как целое число, где понедельник равен 1, а воскресенье – 7.
isocalendar()
Возвращает кортеж (год ISO, номер недели ISO, день недели ISO).
isoformat()
Вернуть строку, представляющую дату в формате ISO 8601, т.е. «ГГГГ-ММ-ДД».
ctime()
Возвращает строку, представляющую экземпляр даты.
Выход: Вт, 18 сен, 00:00:00 2018
Преобразование в форматированную строку
Мы можем использовать функцию strftime() для преобразования экземпляра даты в строку с указанным форматированием.
Преобразование строки в дату
Мы можем использовать функцию datetime strptime() для преобразования строки в экземпляр datetime. Затем мы можем использовать его функцию date() для преобразования в экземпляр даты.
from datetime import datetime dt = datetime.strptime('2018/09/18', '%Y/%m/%d').date() print(type(dt)) print(dt)
Python get month from date
Being able to get the month number, or year month number, from a DateTime object in Python can be extremely helpful for feature engineering. In this post, I will walk through how to do this simply in multiple variations.
How do you get the month number from a datetime object in Python?
In order to get the month number from a datetime object in Python, all you need to do is use the .month method. This is a much simpler operation than getting, for example, the week number as there aren’t multiple interpretations of the aggregation.
Python get month from date
Getting the month number from a datetime object in Python requires very little code, here is the most simple example of implementing it.
import datetime date = datetime.date(2022, 9, 1) month_number = date.month print(date) print(f"Month number is: ") """ Output: 2022-09-01 Month number is: 9 """
Pandas get month number from datetime
If you’re using Pandas as a way to store your data then you can easily get the month number from a datetime column by using the .dt.month method.
import pandas as pd df = pd.DataFrame( columns=["datetime"], data=pd.date_range("30/8/2022 09:00:00", periods=4, freq="D")) df["month_number"] = df["datetime"].dt.month """ Output: datetime month_number 0 2022-08-30 09:00:00 8 1 2022-08-31 09:00:00 8 2 2022-09-01 09:00:00 9 3 2022-09-02 09:00:00 9 """
Python get year month number from date
If you have a dataset that spans multiple years then you may want to return a combination of year and month to make it unique. Here is how this can be done in Python using strftime
import datetime date = datetime.date(2022, 9, 1) year_month = date.strftime('%Y-%m') print(date) print(f"Year month combination: ") """ Output: 2022-09-01 Year month combination: 2022-09 """
Pandas get year month number from datetime
It’s also possible to calculate this unique year-month combination for a Pandas dataframe using the same approach.
import pandas as pd df = pd.DataFrame( columns=["datetime"], data=pd.date_range("30/8/2022 09:00:00", periods=4, freq="D")) df["year_month"] = df["datetime"].dt.strftime('%Y-%m') """ Output: datetime year_month 0 2022-08-30 09:00:00 2022-08 1 2022-08-31 09:00:00 2022-08 2 2022-09-01 09:00:00 2022-09 3 2022-09-02 09:00:00 2022-09 """
Related articles
References
Stephen Allwright Twitter
I’m a Data Scientist currently working for Oda, an online grocery retailer, in Oslo, Norway. These posts are my way of sharing some of the tips and tricks I’ve picked up along the way.
Как получить месяц как номер, используя Python DateTime?
Чтобы получить имя месяца Полная версия, используя Python DateTime, позвоните strftime () с % м прошел как аргумент.
Пример 1: Получить номер месяца текущей даты
В следующем примере мы возьмем текущую дату и получим номер месяца.
#import datetime package import datetime #get current time d = datetime.datetime.now() #print date print(d) #get month number print(d.strftime("%m"))
Пример 2: Получить номер месяца конкретной даты
В следующем примере мы возьмем дату 2019-08-12 и получите номер месяца.
#import datetime package import datetime #set specific date d = datetime.datetime(2019, 8, 12) #print date print(d) #get month number print(d.strftime("%m"))
Резюме
В этом руководстве мы извлекли номер месяца с даты с использованием пакета DateTime.
Похожие учебники
- Как получить имя месяца Короткая версия, используя Python DateTime?
- Как получить день месяца, используя Python DateTime?
- Python Сравнить dateTime.
- Python String к DateTime
- Python DateTime для строки
- Как получить будний день как номер, используя Python DateTime?
- Как получить полную версию в будние дни, используя Python DateTime?
- Как получить имя месяца Полная версия, используя Python DateTime?
- Как получить короткую версию в будние дни, используя Python DateTime?