web-dev-qa-db-ja.com

Django:ビューでフォーマット日付を取得する方法は?

ビューでSHORT_DATETIME_FORMATを使用する必要があります。

def manage_list(request):

    user = User.objects.filter().order_by('date_joined') 
    usrs = [] 
    for usr in user: 
        usrs.append({
            _('First name'):  usr.first_name, 
            _('Last name'):   usr.last_name,
            _('Email'):       usr.email,
            _('Active'):      usr.is_active,
            _('Superuser'):   usr.is_superuser,
            _('Staff'):       usr.is_staff,
            _('Joined date'): usr.date_joined.strftime(SHORT_DATETIME_FORMAT),    
        }) 

    data = simplejson.dumps(usrs, indent=4)
    return HttpResponse(data, mimetype='application/json')

usr.date_joinedには「日付フィールド」のタイプがあると思います。 Django locale。に従ってこのデータをフォーマットしたいので、この文字列がおそらく役立つはずです。 表示のみ-保存Django選択されたロケール。

これを行う他の方法がある場合は、例を提供してください。結局、日付と時刻のみを表示するDjangoロケールに従って書式設定された日付を持ちたいだけです。

34
holms

Django.utils.formatsモジュールはあなたが探しているものです。私がドキュメントで見つけることができる唯一のリファレンスは、 Django 1.2リリースノート にありました。

ローカライズは USE_L10N 設定はTrueです。 date_formatは次のように使用できます。

from datetime import datetime
from Django.utils import formats
date_joined = datetime.now()
formatted_datetime = formats.date_format(date_joined, "SHORT_DATETIME_FORMAT")
68
Alasdair

Django.utils.dateformat.DateFormatを使用してみてください。

>>> from datetime import datetime
>>> dt = datetime.now()
>>> from Django.utils.dateformat import DateFormat
>>> from Django.utils.formats import get_format
>>> df = DateFormat(dt)
>>> df.format(get_format('DATE_FORMAT'))
u'April 23, 2013'
>>> df.format('Y-m-d')
u'2013-04-23'

Pythonを使用した詳細情報:

import Django
help(Django.utils.dateformat)
24
Tomi

ビューでDjango dateフィルターを使用するには、defaultfiltersを使用します。例:

from Django.template import defaultfilters

formatted_date = defaultfilters.date(usr.date_joined, "SHORT_DATETIME_FORMAT")
11
greg

localizeショートカットを使用します。

>>> from Django.utils.formats import localize
>>> from datetime import datetime
>>>
>>> print(datetime.now())
2016-12-18 19:30:35.786818
>>> print(localize(datetime.now()))
18 декабря 2016 г. 19:30
2
lampslave
from Django.utils.formats import date_format

date_format(usr.date_joined)
0
User3759685