【问题标题】:Getting the current date (and time) in Django在 Django 中获取当前日期(和时间)
【发布时间】:2015-11-12 14:00:26
【问题描述】:

我想知道在 django 应用程序中获取当前日期的最佳方法是什么。

目前我查询 python 日期时间模块 - 但由于我需要到处都是日期,我想也许 Django 已经有一个内置函数。

例如我想过滤当年创建的对象,所以我会执行以下操作:

YEAR = datetime.date.now().year
currentData = Data.objects.filter(date__year=YEAR)

我应该在 settings.py 中定义 YEAR 变量还是创建一个函数 now() 还是有一个内置函数来解决这个问题?

【问题讨论】:

    标签: python django django-queryset django-orm


    【解决方案1】:

    在模板中,已经有一个内置函数now

    显示当前日期和/或时间,使用根据 给定的字符串。这样的字符串可以包含格式说明符字符为 在日期过滤器部分中描述。

    例子:

    It is {% now "jS F Y H:i" %}
    

    在 django 1.8 中,可以与as一起使用:

    {% now "Y" as current_year %}
    {% blocktrans %}Copyright {{ current_year }}{% endblocktrans %}
    

    在python代码中,没有django内置的日期,只需使用pythondatetime.date.now()来制作你自己的自定义函数。

    【讨论】:

    • 有模板,但我正在views.py中寻找等价的模板
    • views.py 你有datetime.date.now().year,她的工作做得很好
    • 它返回当前年份并且效果很好,我只是想知道使用 django“buildin”函数或编写自己的函数而不是使用 datetime - 所以我可以像函数一样使用它
    • python 代码中没有日期的 django 内置函数,我认为你应该根据datetime.date.now().year 做你自己的函数。我更新了我的答案
    • 只是为已经很好的答案添加更多信息:如果您需要模板中的当前日期/时间作为变量(datedatetime 而不是 str,如图所示这个答案)你可以在我前段时间写的this answer中找到一些选项。
    【解决方案2】:

    是的,您可以在 Python views.py 文件中以任何您想要的格式获取当前日期。

    在views.py中

    import datetime
    
    def your(request)
        now=datetime.datetime.now()
        print("Date: "+ now.strftime("%Y-%m-%d")) #this will print **2018-02-01** that is todays date
    

    【讨论】:

      猜你喜欢
      • 2012-08-15
      • 2015-03-22
      • 2012-12-04
      • 2020-04-26
      • 2012-04-29
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多