2017-12-12 8 views
0

現在のローカルタイムと一緒にフルタイムゾーンを表示しようとしています。TimeをインポートせずにDatetimeから完全なタイムゾーン名を取得するにはどうすればよいですか?

print "Your current time is {0} {1} ".format(datetime.datetime.now().time(), time.tzname[0]) 

そして、その結果は次のようになります。

Your current time is 08:35:45.328000 Pacific Standard Time 

問題、私は一緒にタイムライブラリを(私が間違ってそれを呼び出す場合は申し訳ありませんが、私はC#のから来ている)をインポートする必要があります日時ライブラリ。

import datetime 
import time 

私は時間のnaiveaware状態に見てきたが、依然として望ましい結果を得るように見えることはできません。

TimeをインポートすることなくDatetimeからフルタイムゾーン名(太平洋標準時)を取得する方法はありますか?あなた自身のローカルタイムゾーンtzinfoクラスの使用法を記述するための

+0

'time'モジュールはここでは何もしません。あなたはおそらく 'pytz'サードパーティのモジュールを探していますか? – ShadowRanger

+0

@ ShadowRangerコードtime.tzname [0]でタイムゾーン名を取得するのに役立ち、 "太平洋標準時"を返します。 –

+0

Ah。 'datetime'インスタンスとは関係なく、ローカルタイムゾーン名をチェックしています。これはうまくいきますが、保存された 'datetime'を「どこか」から取得し、関連するタイムゾーンを表示する必要があるシナリオに推論することはありません。それは素朴な 'datetime'のために情報が利用可能になったようには見えませんが、' time'をインポートするコストは簡単です( 'datetime'インポートはそれ自身のインポートの間ですので、' import time'はロードされたキャッシュされた'datetime'と同時に)。なぜそれを避けたいのですか? – ShadowRanger

答えて

0

の例では、(hereから1ページをスクロールダウン)time.tznameからtznameを引っ張るので、Pythonは提案するためのより良い内蔵のソリューションを持っていません。

あなたはその一例にLocalTimezoneを使用して認識してdatetimeインスタンス上strftimeため%Z書式コードを使用することができるようになるLocalTimezone実装を、コピーすることもできますが、それはあなたが組み込みコマンドで行うことができます最善です。純粋なdatetimeの場合、tznameは空の文字列なので、にはが必要です。これは正常に動作するためにはdatetimeです。

関連する問題