3

誰かがOSXでロケールを使用して、デフォルトのローカル日付と時刻の形式を導出することに成功しましたか?(さまざまなロケールで単純な日付と時刻を解析する必要があります)。

今のところ、私はosascriptに頼っています…</ p>

from subprocess import Popen, PIPE

cmd = "osascript -e " + """'
    tell (current date)
        set {its year, its month, its day} to {2001, 2, 3}
        set {its hours, its minutes, its seconds} to {4, 5, 6}
        return its short date string & tab & its time string
    end tell'"""

str_date, err_num = Popen(cmd, shell=True, \
    stdin=PIPE, stdout=PIPE, stderr=PIPE).communicate()

str_date, _, str_time = str_date.rpartition('   ')
str_date_pattern = str_date.replace('2001', '%Y').replace('02', '%m').replace('03','%d')
str_time_pattern = str_time.replace('04', '%H').replace('05', '%M').replace('06', '%S').rstrip()

これは次のようなものを返します:

'%d/%m/%Y', '%H:%M:%S'
4

1 に答える 1

1

代わりにpython-dateutilパッケージを使用してみませんか?

このparse関数は、フォーマットを構成しなくてもほとんどのフォーマットを処理できます。

>>> from dateutil.parser import parse
>>> parse('03/02/2001 04:05:06')
datetime.datetime(2001, 3, 2, 4, 5, 6)

または、次のコマンドで使用できるICU形式の文字列を変換してみることもできます。defaults read

$ defaults read .GlobalPreferences AppleICUDateFormatStrings
{
    1 = "yyyy/M/d";
}
$ defaults read .GlobalPreferences AppleICUTimeFormatStrings
{
    1 = "kk:mm ";
    2 = "kk:mm:ss ";
    3 = "kk:mm:ss  z";
    4 = "kk:mm:ss  v";
}

これらは、Language & Text構成パネルを介して構成されたロケール設定です。

于 2012-11-05T12:16:52.093 に答える