Jinja2 добавляя 3 к дням для каждого месяца в календаре - PullRequest
0 голосов
/ 02 июля 2019

Кажется, что возникают проблемы с добавлением дней к дням любого месяца, который меньше 29. Если дней 30 и более, я добавлю месяц, а затем вычту общее количество дней + 10, чтобы получить новую дату. В противном случае я хочу добавить 10 к дням, если это меньше, чем 29.

1 Ответ

2 голосов
/ 06 июля 2019

Если вы обнаружите, что делаете ручную математику, сделайте шаг назад.Это никогда правильное решение.Вы не знаете всех правил, касающихся часовых поясов, високосных годов, летнего времени и т. Д.

Используйте timedelta для добавления дней к дате и strftime() для форматирования даты для отображения.И ради любви к Богу, не делай этого в Джинджа!Получите дату, настроенную в Python, а затем передайте ее в Jinja, готовую для отображения.

Файл Python

from datetime import timedelta
newdate = mydate + timedelta(days=3)

Шаблон Jinja

{{ newdate.strftime('%Y/%m/%d') }}
...