ローカライズされた日付文字列をエポックに変換

ローカライズされた日付文字列をエポックに変換

date文字列を変換しようとしています。本土ポルトガル語epoch時間に戻るために使用しますbash。私のデフォルトのロケールはen_US.utf8

私の例の文字列はMai 12 06:58:47 WEST 2015

私はこれを試しました:

LC_TIME="pt_PT.utf8" date --date="Mai 12 06:58:47 WEST 2015" +%s    
LC_ALL="pt_PT.utf8" date --date="Mai 12 06:58:47 WEST 2015" +%s

最初のコマンドはエラーを返し、date: invalid date2番目のコマンドはポルトガル語で同じエラーを返します。

私も試してみましたが、pt_PT話しませんでした。私の考えではは、対応するロケールがインストールされていないためです。

どうすればいいですか?

ベストアンサー1

GNUはdate英語しか理解できません。

ksh93を試すことができます:

$ LC_ALL=pt_PT.UTF-8 ksh -c 'printf "%(%F)T\n" "Mai 12 06:58:47 WEST 2015"'
2015-05-12

またはzsh:

zmodload zsh/datetime
strftime -rs t "%b %d %H:%M:%S %Z %Y" "Mai 12 06:58:47 WEST 2015"
strftime %F $t

おすすめ記事