プログラムが実行されているロケールの書式設定された日付と時刻を取得するには、どの C 関数を呼び出す必要がありますか?
ClamAV デーモン API の使用中に問題が発生したため、この質問をしています。このVERSION
コマンドは最新のウイルス定義の日時を返しますが、コードはctime
それをフォーマットするために への呼び出しを使用します。私が知る限りctime
、現在のロケールに従って日時をフォーマットせず、返された文字列の曜日と月に英語の略語を使用しています。これは、ClamAV API を使用する私の Java プログラムが現在のロケールを尊重し、曜日と月の名前がローカルの略語を持つことを期待するため、問題を引き起こします。
datetime 形式は、 ctimeによって生成されるものと同じ形式である必要があります。
Www うーん dd hh:mm:ss yyyy
Www は曜日、Mmm は月、dd は日、hh:mm:ss は時刻、yyyy は年です。
常に英語の日付を想定するように Java プログラムを書き直すこともできますが、ClamAV 側のバグのように思われるので、ClamAV にパッチを提出する方がよいでしょう。