Есть ли способ работать с месяцем в Python так же, как YearMonth в Java? - PullRequest
0 голосов
/ 25 сентября 2019

Как разработчик Java, если мне придется иметь дело с месяцами (сравнение, приращение, дельта ...), я буду использовать класс YearMonth .Сегодня я пишу на Python и ищу что-то похожее.

Я посмотрел на https://docs.python.org/3/library/datetime.html и https://docs.python.org/3/library/calendar.html и не нашел ничего похожего на YearMonth

Я думаю, мне придется иметь дело с календарем.

Возможно, я что-то пропустил.

Цели:

  • Предоставляет способ вычисления дельты месяцевмежду 2 месяцами
  • Возможность конвертировать в и из Date / Datetime.
  • Сравните это с Date или Datetime.
  • будет представлением для Marshalling / Unmarshalling.(это главное)

Примеры месяцев дельта, которые я хотел бы иметь:

dt1 = datetime(2019,12,31,23,59,59)
dt2 = datetime(2020,1,1,1,1,1)
ym1 = yearmonth(dt1)
ym2 = yearmonth(dt2)
ym_delta = ym2-ym1

ym_delta (или ym_delta.months) должно быть равно 1.

ym1 = yearmonth(2018,12)
ym2 = yearmonth(2020,1)
ym_delta = ym2-ym1

ym_delta (или ym_delta.months) должно быть равно 13

Хотелось бы, чтобы где-нибудь были month_utils.эта библиотека: https://pythonhosted.org/MonthDelta/ близка к тому, что я ищу.

Ответы [ 2 ]

0 голосов
/ 25 сентября 2019

Простой способ получить месяц - использовать time.localtime () Например,

import time
date=time.localtime()
year=date[0]
month=date[1]
day=date[2]
hour=date[3]
minute=date[4]
seconds=date[5]
0 голосов
/ 25 сентября 2019

Вы можете использовать datetime.date для всех приведенных вами примеров.https://docs.python.org/3/library/datetime.html#datetime.date

См. Поддерживаемые операции в таблице по этой ссылке: https://docs.python.org/3/library/datetime.html#datetime.date.day

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...