#python #matlab #date
#питон #matlab #Дата
Вопрос:
MatLab может взять дату и переместить ее на конец месяца, квартала и т.д. с помощью dateshift(...)
функции.
Есть ли эквивалентная функция в Python?
Ответ №1:
Я не уверен, что это считается одинаковым, но datetime
модуль может предоставлять время как a timetuple
, с отдельными компонентами для года, месяца, дня и т.д. Этим легко манипулировать напрямую, чтобы перейти к следующему месяцу и т.д.
Если вы не возражаете против использования расширения, проверьте dateutil
. Список функций начинается с:
- Вычисление относительных дельт (в следующем месяце, в следующем году, в следующий понедельник, на последней неделе месяца и т.д.);
В документации dateutil.relativedelta
показано, как перейти к различным точкам.
Ответ №2:
Я думаю calendar.monthrange
, что должен сделать это за вас, например:
>>> import datetime, calendar
>>> year = int(input("Enter year: "))
Enter year: 2012
>>> month = int(input("Enter month: "))
Enter month: 3
>>> endOfMonthDate = datetime.date(year, month, calendar.monthrange(year, month)[1])
>>> endOfMonthDate
datetime.date(2012, 3, 31)
>>>
Вы можете найти другие полезные функции здесь: https://docs.python.org/2/library/calendar.html и вот здесь: https://docs.python.org/2/library/datetime.html