UTCの日時変換には多大な疑問があり、「最良の方法」のコンセンサスはないようです。どのように、Pythonで、UTCのdatetimeを取る、ユーザーのタイムゾーンを自動検出し、datetimeを希望の形式に変換しますか?
これによると:http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/、pytzが最善の方法です。彼は私が見
みんな「replace
がないを行い、localize
は夏時間に合わせて調整、」この男https://stackoverflow.com/a/7465359/523051が言う...
をこのdatetime.datetime.utcnow().replace(tzinfo=pytz.utc)
のようにタイムゾーンに変換するが、彼は、ユーザーのタイムゾーンを取得する方法を言っていない示していpytzは自分のタイムゾーン(users_timezone = timezone("US/Pacific")
)を提供していますが、これはあなたの視聴者がどこにいるのかわからないのでわかりません...
この男https://stackoverflow.com/a/4771733/523051はタイムゾーンを自動検出する方法がありますこれは、dateutil
ライブラリを使用していますが、Armin Ronacherと正式なpythonのドキュメント(http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior、黄色のボックスでそのアンカーのすぐ上に)
私が必要とするのは、 2012-08-25 10:59:56.511479
)、それをユーザーのタイムゾーンに変換します。そして、このようにそれを示しています
Aug 25 - 10:59AM
と年は現在の年ではない場合、私は
Aug 25 '11 - 10:59AM
それはいくつかのオフをスローすることが2つの外部ライブラリを必要としません...ヒロク。上記の関数は単にUTC時刻を返します。 – chrickso
また、ユーザーのタイムゾーンを正確に判断して時間を自動的に調整するための信頼できる方法であることをすべて忘れてしまいました。私はTwitterがあなたのタイムゾーンを調整する設定を持っているので、これは方法でなければならないことがわかります:ユーザの好みを保存し、それをコンバージョンに使用します。 – chrickso