Cの現在のロケールのフォーマットされた日付と時刻をどのように取得しますか?

StackOverflow https://stackoverflow.com/questions/2778375

質問

プログラムが実行されているロケールのフォーマットされた日付と時刻を取得するには、どのC関数を呼び出す必要がありますか?

Clamav Daemon APIを使用して問題に遭遇したので、私はこの質問をしています。 VERSION コマンドは最新のウイルス定義の日時を返しますが、コードはの呼び出しを使用します ctime フォーマットします。私の知る限り ctime 現在のロケールに従ってDateTimeをフォーマットせず、Returned Stringの週と月の英語の略語を使用します。これは、Clamav APIを使用する私のJavaプログラムとして問題を引き起こします します 現在のロケールを尊重するため、曜日と月の名前が地元の略語を持つことを期待しています。

DateTime形式は、によって生成されたものと同じ形式である必要があります Ctime:

www mmm dd HH:mm:ss yyyy

ここで、WWWは平日、手紙の月、月は月、HH:MM:SS The Time、およびYyyyです。

Javaプログラムを書き直して、常に英語の日付を想定していますが、Clamavにパッチを提出することは幸せです。

役に立ちましたか?

解決

strftime("%c", ... 現在のロケールの優先日時の表現を提供する必要があります。または(まだ strftime)エミュレートできます ctime'sの形式ですが %b 現在の月の月の略語のために、 %a 現在の場所の平日の略語など。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top