第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Django 視圖代碼中本地化日期時間(使用 BST)?

如何在 Django 視圖代碼中本地化日期時間(使用 BST)?

青春有我 2023-07-18 15:31:54
我在“models.py”中有一個日期時間:class Foo(models.Model):    modified = models.DateTimeField()當我在模板中顯示它時,它會根據(jù)我的區(qū)域設置(我處于英國夏令時間)正確顯示:{{ foo.modified }}設置:LANGUAGE_CODE = 'en-gb'TIME_ZONE = 'Europe/London'USE_I18N = TrueUSE_L10N = TrueUSE_TZ = True正確輸出我所期望的“2020 年 9 月 7 日下午 2:43”(在視圖中打印“已修改”給出“2020-09-07 13:43:40.988953+00:00”)。但是,當我嘗試將此格式復制到視圖中的字符串時,我得到了錯誤的日期/時間(它沒有調整一小時):from django.utils.formats import localizefrom app.models import Foofoo = get_object_or_404(Foo, pk=1)modified = localize(foo.modified, use_l10n=True)print(modified)輸出“7 Sep 2020, 1:43 pm”,這是錯誤的。
查看完整描述

2 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

代碼中的對象datetime將位于數(shù)據(jù)庫(或數(shù)據(jù)庫適配器)返回的時區(qū)中。通常是 UTC(在本例中),這就是打印值相差一個小時的原因。

這些會自動轉換為當前時區(qū)(TIME_ZONE默認情況下),以便與用戶(表單和模板)進行交互,這就是您的模板視圖正確的原因。

如果要將datetime代碼中的對象轉換為當前時區(qū),請使用localtime()

from?django.utils.timezone?import?localtime

local_modified?=?localtime(foo.modified)


查看完整回答
反對 回復 2023-07-18
?
九州編程

TA貢獻1785條經驗 獲得超4個贊

from django.utils import timezone

from django.templatetags.l10n import localize



def localize_datetime(value):

    return localize(timezone.template_localtime(value))

我為此目的編寫了這個函數(shù)。我試圖找出 Django 如何處理框中的日期時間字段,在 Django admin 中它會自動將值轉換為本地時區(qū)并應用 FORMAT_MODULE_PATH 中定義的格式的格式。


所以timezone.template_localtime - 如果 settings.USE_TZ 開啟,則將值轉換為本地時間


并本地化- 應用格式


查看完整回答
反對 回復 2023-07-18
  • 2 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號