2016-06-27 7 views
1

(もしそうなら、どうやって)ローカル(地域)の日付フォーマットを取得することは可能でしょうか?理想的にはクロスプラットフォームの方法で、そうでなければ少なくともLinuxを起動すれば十分でしょう。私が何を言っているかlinuxでローカル(地域)日付形式を取得するには?

:私が望む何

date +"%c" 

がある代わりに数字の持っている:例えば、端末内で実行この行は、ローカル(地域)の方法でフォーマットされた日付(と時間)を返します。これが表示されているフォーム、私は私が得るリトアニアのものに私の地域の設定設定した場合、例えば:

2016 m. birželio 27 d. 19:06:11 

をだから私は、この代わりに、上記を取得したいと思います

私は米国のものに地域設定を設定した場合:この場合

Mon 27 Jun 2016 07:09:24 PM EEST 

を代わりに私が取得したいと思い上記の:

DD MM YYYY 

意味 - ではない実際の数値が、どのようにローカル(地域)日付がフォーマットされます。

私は後でJoachimsのヒントはここに、あなたの元の質問のためのソリューション正しいですが、ユーザー

+1

を使用するための['strftime'](http://en.cppreference.com/w/c/chrono/strftime)とそのフォーマットについて。 '"%c "'のような形式です。 –

+0

@JoachimPileborgこれらのオプションはすべて1つまたは別の結果を返しますが、いずれもフォーマット自体を提供しません。たぶん私は私のポスト/質問では私が数字ではなく文字を欲しいという点で明確ではない。たとえば、%cが呼び出されたときに、使用する書式をstrftimeに伝えるソートのシステムデータベースがあるとします。私はその情報、つまりどんなフォーマットが使われているのかを知りたい。 – Galvotas

+2

私があなたに伝えようとしていることは、実際のフォーマットが何であるかを知る必要はないということです。 ['strftime'](http://en.cppreference.com/w/c/chrono/strftime)は、あなたのロケール(地域)に依存する日付と時刻を表示する' '%c" '形式も受け入れますほしいと思う。さもなければ、 'date'プログラムのソースをいつでも得ることができ、それが何をしているのか見ることができます。 –

答えて

1

に直面して、入力/出力操作のために、この情報を使用します。 ただ、bashで入力してください:あなたが代わりに日付形式の時間形式が必要な場合は、

locale -k LC_TIME | grep ^d_fmt | cut -d= -f2 

代わりd_fmtt_fmtを使用して、あなたがより多くを読みたいかもしれません組み合わせた日付/時刻の形式は、d_t_fmt

+0

@Matthiasありがとう、私はJoachimsのヒントに基づいてファイルを見つけましたが、バイナリ形式を解読することができませんでした。どうもありがとうございました! – Galvotas

+0

同じ出力を与えるさらに簡単なbashコマンド: 'locale d_fmt' – samjewell

関連する問題