2013-06-18 14 views
9

DSTを使用している変数に格納されている特定のタイムゾーンかどうかをPythonスクリプトで確認するにはどうすればよいですか? 私のサーバーはUTCに設定されています。 だから、私は今、それはDSTを使用している場合についてのクエリを実行し、応答が偽の真のいずれかとして戻ってくるしたいインスタンスDSTを使用している特定のタイムゾーンは現在ありますか?

zonename = Pacific/Wallis 

ため 言ってきました。

答えて

13
from pytz import timezone 
from datetime import datetime 

zonename = "Pacific/Wallis" 
now = datetime.now(tz=timezone(zonename)) 
dst_timedelta = now.dst() 
### dst_timedelta is offset to the winter time, 
### thus timedelta(0) for winter time and timedelta(0, 3600) for DST; 
### it returns None if timezone is not set 

print "DST" if dst_timedelta else "no DST" 

代替が使用することです:

3つのいずれかの値を持つことができます
now.timetuple().tm_isdst 

:なしDSTのため0、DSTのための1と設定されていない時間帯のため-1を。

+0

[重複する質問への私の(独立した)ソリューション](http://stackoverflow.com/q/19774709/4279)は変わっていません(変数名を含む)。 – jfs

+0

@JFSebastian:*「それを行う方法は、ほんの一例ばかりですが、ほんの一例ばかりです。」* [PEP-20 aka The Python of Python](https://www.python.org/dev/peps/ ppt-0020 /);-) – vartec

+2

これは私がPythonを愛している理由です:) – jfs

関連する問題