1

タイムゾーンがMSTではなく「MountainDaylightTime」として返される理由を誰かに教えてもらえますか?

import time

print time.strftime( "%H:%M %A %Z %d %b %y")
4

3 に答える 3

3

あなたが尋ねた別の質問に基づいて、Windowsを使用していると思います。

Windows では、レジストリの次のキーにあるまたはの値strftime("%Z")が表示されます: 。どちらが表示されるかは、(もちろん) 夏時間が有効かどうかによって異なります。これらの設定を変更した場合、それらを有効にするために再起動する必要があります。DaylightNameStandardNameHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

Linux ではstrftime/etc/localtime. Ubuntu では、 を使用して設定しdpkg-reconfigure tzdataます。Linux では%Z、タイムゾーンが表示されます (例: mine now shows 'EDT'%zUTC からのオフセットが表示されます (例: mine now が表示されます)'-0400'

于 2012-05-10T19:58:52.263 に答える
0

あなたのコードは正しいようです

import time

print time.strftime( "%H:%M %A %Z %d %b %y")

#=> 13:54 Thursday CDT 10 May 12

どのバージョンの python を実行していますか?

于 2012-05-10T18:55:14.693 に答える
0

Windowsを使用して同じ問題に遭遇しました。米国の 4 つのタイムゾーンに対する手っ取り早いソリューションとして、大文字以外のすべての文字をタイムゾーン文字列から単純に削除できます。

    abbreviated_tz_str = re.sub(r'[^A-Z]', '', multiplatform_tz_str )

例として、タイムスタンプを適切な文字列に変換する方法を次に示します。

    import re
    import time

    def nice_str( timestamp ):
        dt_str    = time.strftime( "%m/%d/%Y %I:%M:%S %p", time.localtime( timestamp ) )
        tz_str    = time.strftime( "%Z", time.localtime( timestamp ) )
        final_str = "%s (%s)" % ( dt_str, re.sub(r'[^A-Z]', '', tz_str ) )
        return( final_str )

そう:

    print( nice_str( 1425917368 ) )

ショー:

    03/09/2015 09:09:28 AM (PDT)

Windows でも動作します。

于 2015-03-09T16:16:54.120 に答える