2012-10-23 45 views
1

我已閱讀,有可用大量的時區支持的Django 1.4,但一個人如何獲得的Django 1.3用戶的時區?如何獲得用戶的時區在Django 1.3 HTTP請求

一旦有了時區,即像「歐洲\倫敦「GMT + 4:00」,很容易使用中間件把它設置成request.META字典使其可用於每個請求...

回答

0

用戶的時區通常不可用於服務器。如果你看看你自己的網絡瀏覽器的請求標題,如http://www.myhttp.info/,你會發現那裏沒有任何東西給你的時區提供線索。

但是,如果您可以在客戶端運行一些Javascript,則可以使用Date類構造函數和Date.UTC來檢查客戶端上本地時間和UTC之間的差異。這種差異是當前的時間偏移,這是你可以做到的最好的。

+1

你確定嗎?那麼,Django 1.4如何支持它呢?你可以做一些像'tz = request.session.get('django_timezone');如果tz:timezone.activate(tz)'在Django 1.4中的中間件中,並且你可以在任何地方得到用戶的時區,請查看https://docs.djangoproject.com/en/1.4/topics/i18n/timezones/ – Optimus

+0

它並沒有那麼遠。在它表示Django不能自動確定用戶的時區,但它提供了工具幫助您從用戶那裏獲得這些信息。 – aecolley

相關問題