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. Outlookでタイムゾーン情報を取得する
- 2. システム情報を取得UWP
- 3. どこからタイムゾーン情報を取得しますか?
- 4. タイムゾーン情報を取得する方法
- 5. Timex - DateTimeからタイムゾーン情報を取得する
- 6. Pythonを使用してWindowsシステムの内部情報を取得する
- 7. Pythonで各パーティションの情報を取得
- 8. VBScriptを使用して、別のタイムゾーン情報をローカルに取得します。
- 9. PythonでDC++ハブ情報を取得
- 10. C#/ ASP.NET MVC3、DateTime.UtcNowからクライアントのタイムゾーンに変換します。タイムゾーン情報を取得するには?
- 11. Python(Bash?)を使ってOSレベルのシステム情報(CPU速度)を取得する
- 12. はpythonでdateutil.parser.parseからタイムゾーンを取得するタイムゾーン情報と日時文字列を解析し、UTCを取得しよう
- 13. Postgresqlでシステムの運用情報を取得
- 14. リモートマシンのシステム情報を取得する(Javaを使用)
- 15. Python - 静的情報を取得
- 16. hdf5のキー情報をPythonで取得できません
- 17. WMIが返さないシステム情報を取得する - C#
- 18. MS Accessシステム情報を取得する方法
- 19. 取得情報
- 20. MCP23017からPythonで情報を取得する
- 21. LogitechのレーシングホイールからPython経由で軸情報を取得
- 22. ページ情報を取得する - pythonでFacebookのグラフのAPIを
- 23. バッチリクエストでFacebookのユーザー情報を取得しますか?
- 24. Python-配列から特定の情報を取得する
- 25. Python AppEngine;ユーザー情報を取得し、パラメータを投稿しますか?
- 26. Silverlightは、システム情報
- 27. 情報検索システム
- 28. PythonでSQLテーブルから情報を取得
- 29. Python xpath - 正しい順序で情報を取得
- 30. datetime.datetime.now()を使用しているときに正しいタイムゾーン情報を取得しますか?
私たちは別のドキュメントを見ていますか、それは '%Z''ですか? – SilentGhost
@ SilentGhost: "%z"と "%z"はPythonで全く同じです。 – ahawker
はい、ただし**大文字の** Zと**小文字の** zはありません。 – SilentGhost