web-dev-qa-db-ja.com

Python + Djangoを使用して現在の時刻を表示するにはどうすればよいですか?

PythonおよびDjango=を使用して、現在の時刻を出力する小さなWebアプリケーションを生成する方法を学習しています。これをGoogle App Engineで使用しています。

現在は空白のページしか表示していませんが、現在の時刻を表示したいと思います。また、関数を/ time /ではなくホームページにマップしたいと考えています。

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()
20
Lucas

多分このドキュメントはあなたにとって役に立つでしょう: タイムゾーン

ビューでの時間のフォーマット

次のコマンドを使用して現在の時刻を取得できます。

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

テンプレートフィルターdate を確認します

これがお役に立てば幸いです

37
AlvaroAV

現在テンプレートタグ を使用します。例えば:

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

ただし、応答を送信する前に、テンプレートエンジンを介して文字列を送信する必要があります。

13
Sam Dolan

Djangoコードの場合、テンプレートではなく、サポートは実際には非常に簡単です。

設定でタイムゾーンを変更します。

TIME_ZONE = 'Asia/Kolkata'

そして、使用する必要がある場合は、次のコードを使用します。

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

ソース: https://docs.djangoproject.com/en/2.1/topics/i18n/timezones/

5

現在の時刻を出力するには、 time.strftime() を使用できます。あなたのurlpatternsで、単に変更してください'^time/$''^/$'を使用して、ルートページを時間関数にマップします。

0
A B

私はこれをview.pyで使用しました

currentTime = datetime.datetime.now()。 。 。そして、HomePage(2 snippets)

enter image description here

enter image description here

0
Somesh Samadder