如何使用Python + Django显示当前时间?

时间:2011-02-24 20:54:52

标签: python django google-app-engine

我正在学习如何使用Python和Django生成一个打印出当前时间的小型webapp。我正在使用Google App Engine。

现在它只显示一个空白页面,但我希望它显示当前时间。我也想将功能映射到主页..不是/时间/.

from django.http import HttpResponse
from django.conf.urls.defaults import *
import datetime

# returns current time in html
def current_datetime(request):
    now = datetime.datetime.now()
    html = "<html><body>It is now %s.</body></html>" % now
    return HttpResponse(html)

def main(): 
    # maps url to current_datetime func
    urlpatterns = patterns('',
        (r'^time/$', current_datetime),
    )

if __name__ == '__main__':
  main()

5 个答案:

答案 0 :(得分:33)

也许这个文档对您有用:Time Zones

在视图中格式化时间

您可以使用以下方式获取当前时间:

import datetime
now = datetime.datetime.now()

根据时区获得时间:

import datetime
from django.utils.timezone import utc

now = datetime.datetime.utcnow().replace(tzinfo=utc)

格式化您可以执行的操作:

import datetime

now = datetime.datetime.now().strftime('%H:%M:%S')  #  Time like '23:12:05'

格式化模板中的时间

您可以向模板发送日期时间,让我们通过视图向模板发送名为 myDate 的变量。你可以这样做来格式化这个日期时间:

{{ myDate | date:"D d M Y"}}  # Format Wed 09 Jan 2008
{{ myDate | date:"SHORT_DATE_FORMAT"}}  # Format 09/01/2008
{{ myDate | date:"d/m/Y"}}  # Format 09/01/2008

检查Template filter date

我希望这对你有用

答案 1 :(得分:13)

使用now template tag。例如:

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

但是你需要在发送响应之前通过模板引擎发送你的字符串。

答案 2 :(得分:4)

对于Django代码(不是模板),支持实际上非常简单。

在设置中更改时区:

TIME_ZONE = 'Asia/Kolkata'

在需要使用的地方,使用以下代码:

from django.utils import timezone
now = timezone.now()

来源:https://docs.djangoproject.com/en/2.1/topics/i18n/timezones/

答案 3 :(得分:0)

您可以使用time.strftime()打印当前时间。在您的网址模式中,只需将'^time/$'更改为'^/$'即可将根页面映射到您的时间函数。

答案 4 :(得分:0)

我在view.py中使用了

currentTime = datetime.datetime.now() 。 。 。 对于HomePage(2个摘要)

enter image description here

enter image description here