Pythonから自分のシステムのデフォルトタイムゾーン(PST)を取得したいと思います。それを行う最善の方法は何ですか?私は別のプロセスをフォークしないようにしたいと思います。Pythonでシステムのタイムゾーン情報を取得しますか?
答えて
Python Timeモジュールをチェックしてください。
動作するはずfrom time import gmtime, strftime
print strftime("%z", gmtime())
太平洋標準時
:
import time
time.tzname
それは二つの文字列のタプルを返します:最初は地元の非DSTのタイムゾーンの名前で、第二がありますローカルDSTタイムゾーンの名前。
これをさらに使うには、 'time.tzname [time.daylight]'を使って現在のタイムゾーン。夏時間を考慮します。 –
また、 'time.daylight'は、DSTがアクティブであることを示していません。 DSTがタイムゾーンによって観察されるかどうかを示します。あなたは 'time.localtime()。tm_isdst'を探しています。 – marr75
timezoneの値は、 'HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Time Zones¥ 'に定義されています。 – swdev
はThomasHの答えのようにUTCオフセットを与えますが、アカウントに夏時間になります。
>>> import time
>>> offset = time.timezone if (time.localtime().tm_isdst == 0) else time.altzone
>>> offset/60/60 * -1
-9
time.timezone
またはtime.altzone
の値は秒(UTCの分野東が負の値を取得して)UTCの西にあります。これは私たちが実際にそれを好む方法とは逆のものなので、* -1です。
time.localtime().tm_isdst
は、夏時間の適用が現在有効でない場合は0になります(地域によって夏時間法が最近変更された場合は正しくない可能性があります)。
編集:marr75は正しいです、私はそれに応じて答えを編集しました。
安全であるためには、オフセットチェックを元に戻す必要があります(altzoneの場合はdst = 1、それ以外の場合はタイムゾーン)。 DSTの状態が何らかの形で不明な場合、 'tm_isdst'は' -1'になります。この場合、現在のコードはデフォルトで 'altzone'になります。 DSTを使用しない地域では、この値は決して正確ではないので、 'timezone'がおそらくフォールバックになるはずです。 (もし '-1'が実際に' localtime'からの出力が可能であるかどうかは分かりません) – nmclean
[全てのaltzone、タイムゾーンベースの解決策はいくつかの場合で失敗するかもしれません](http://bugs.python.org/issue1647654) – jfs
オフセットを計算するコードスニペットが正しくありません。http://bugs.python.org/issue7229を参照してください。
これを処理するための正しい方法は次のとおりです。
def local_time_offset(t=None):
"""Return offset of local zone from GMT, either at present or at time t."""
# python2.3 localtime() can't take None
if t is None:
t = time.time()
if time.localtime(t).tm_isdst and time.daylight:
return -time.altzone
else:
return -time.timezone
これは、すべての可能性ではなく、OPが尋ねたことを正確に問題のですが、ページと時間のバグ上の2つの不正確なスニペットが追跡するが吸うされています修正する。
1. 'tm_isdst'を知っているなら。 'daylight' 2をチェックする必要はありません。[全ての' altzone'、 'timezone'ベースの解決策は、いくつかの場合で失敗するかもしれません。](http://bugs.python.org/issue1647654) – jfs
- 1. タイムゾーン情報を取得する方法
- 2. Pythonで各パーティションの情報を取得
- 3. Pythonを使用してWindowsシステムの内部情報を取得する
- 4. PythonでDC++ハブ情報を取得
- 5. Python(Bash?)を使ってOSレベルのシステム情報(CPU速度)を取得する
- 6. C#/ ASP.NET MVC3、DateTime.UtcNowからクライアントのタイムゾーンに変換します。タイムゾーン情報を取得するには?
- 7. Python - 静的情報を取得
- 8. リモートマシンのシステム情報を取得する(Javaを使用)
- 9. 取得情報
- 10. MS Accessシステム情報を取得する方法
- 11. Python AppEngine;ユーザー情報を取得し、パラメータを投稿しますか?
- 12. バッチリクエストでFacebookのユーザー情報を取得しますか?
- 13. Silverlightは、システム情報
- 14. iOSアプリケーションでセルタワー情報を取得していますか?
- 15. Androidでハードウェア情報を取得しますか?
- 16. Python Thriftサーバーでクライアント情報を取得する方法は?
- 17. システム情報を取得する方法が記載されています
- 18. pythonでPDB形式の発信者情報を取得
- 19. ロータススクリプトを使用してシステム/ディスク情報を取得する方法は?
- 20. mod_plsqlを使用しているときにタイムゾーン情報を取得できませんか?
- 21. URLから情報を取得する
- 22. データベースから情報を取得する
- 23. カーニング情報の取得
- 24. ディスクジオメトリ情報の取得
- 25. restfbからの情報を取得
- 26. アンドロイドのステータスバーから情報を取得
- 27. バイナリファイルの情報を取得、変更しますか?
- 28. iOSクラッシュレポートのスレッド固有情報を取得しますか?
- 29. MacのRAM情報を取得しますか?
- 30. 複数のサーバーからディスクスペース情報を取得します
私たちは別のドキュメントを見ていますか、それは '%Z''ですか? – SilentGhost
@ SilentGhost: "%z"と "%z"はPythonで全く同じです。 – ahawker
はい、ただし**大文字の** Zと**小文字の** zはありません。 – SilentGhost