Эквивалентная функция MatLab «dateshift (…)» в Python?

#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