【问题标题】:Jinja2 adding 3 to days for every month in calendarJinja2 在日历中每个月增加 3 天
【发布时间】:2019-11-13 11:01:10
【问题描述】:

在小于 29 的任何月份的天数中添加天数似乎存在问题。如果天数为 30 天及以上,我将添加一个月,然后减去总天数 + 10 以获得新日期。否则,如果小于 29,我想将天数加 10。

【问题讨论】:

    标签: python-3.x templates django-templates jinja2


    【解决方案1】:

    如果您发现自己在进行手动日期数学运算,请退后一步。这绝不是正确的解决方案。您不了解时区、闰年、夏令时等所有规则。

    使用timedelta 为日期添加天数,使用strftime() 格式化日期以供显示。看在上帝的份上,不要在 Jinja 这样做!获取在 Python 中设置的日期,然后将其传递给 Jinja 以供显示。

    Python 文件

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

    神社模板

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

    【讨论】:

    • 问题是这样的。我无法导入日期时间,因为我使用的平台使用 jinja 但不支持导入
    • 很抱歉,我不明白您所说的“不支持导入”是什么意思。没有导入就不可能使用 Python。您的意思是您无权访问调用模板的 Python 代码吗?或者你不能在服务器上安装新的 Python 包?
    • 根本无法访问 Python 代码。纯粹是jinja2
    • 日期是如何传递到 Jinja 的?你得到一个日期时间对象吗?
    • 我确实解决了。谢谢你的建议。我们正在使用一种特殊类型的软件来执行此操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 2023-02-15
    相关资源
    最近更新 更多