2012-03-22 5 views
3

Django documentation for setting timezoneでは、timezoneのlist of available choicesは実際にpostgresのタイムゾーンパラメータ文字列です。だから、Djangoは時間を取得するためにPostgresを使います。Django/PostgreSQL(インド標準時)でカスタムタイムゾーンを設定する

ので、問題はISTは、両方のIndian & Israel標準時を示すために使用されていることですが、Postgresは、イスラエル標準時(潜在的に世界の人口の6日にわたり混乱)のためISTを使用し、インドにはタイムゾーンの文字列が存在しない場合標準時。

それだけでなく、Postgresはネパール(GMT + 5:30)や太平洋諸島などのいくつかの国でもタイムゾーンを逃しています。

PostgresやDjangoでカスタムタイムゾーン文字列(GMT + 5:30インド、GMT + 5:45ネパールなど)を設定できる方法はありますか?インドについては

答えて

4

:ネパールのために

SELECT now() AT TIME ZONE 'Asia/Calcutta'; 
SELECT now()::timestamp AT TIME ZONE 'Asia/Kolkata'; 
SELECT now()::timestamp AT TIME ZONE '5:30'; 

SELECT now()::timestamp AT TIME ZONE 'Asia/Katmandu'; 
SELECT now()::timestamp AT TIME ZONE 'NPT'; 

全体セッションのタイムゾーンを設定するには:それをリセットするには

SET time zone 'Asia/Calcutta'; 

を(タイムゾーンセットへpostgresql.confの:

RESET time zone; 

システムビューpg_timezone_namespg_timezone_abbrevs

SELECT * 
FROM pg_timezone_names 
WHERE utc_offset BETWEEN '05:00:00' AND '06:00:00' 
ORDER BY utc_offset; 

SELECT * 
FROM pg_timezone_abbrevs 
WHERE utc_offset BETWEEN '05:00:00' AND '06:00:00' 
ORDER BY utc_offset; 

AT TIME ZONE構造についてPostgreSQLのマニュアルでより多くのを見つけましょう。約time zonesについて

+0

私は、都市の名前が2001年に 'カルカッタ 'から'カルカッタ 'に変更されたことを知っています。しかし、ポストグレストは変化に追いつかないようです。 それは途中で働いた。ありがとう! – user1144616

+0

@ user1144616:それはうまく動作します。あなたは私のポストで「アジア/カルカッタ」を見逃したかもしれません。 –

+0

postgresはtzdataへの変更を追跡しますが、質問にリンクしているときに8.1を真剣に使用している場合、それはもはや維持されません。 – araqnid

関連する問題