我正在学习如何使用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()
答案 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
我希望这对你有用
答案 1 :(得分:13)
答案 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)