日付修飾子の説明

日付修飾子の説明

もう一度、正確に言うと、info理解できないページで興味深いものが見つかりました。info date

オプションの修飾子は、オプションのフラグと幅の仕様に従うことができます。修飾子は次のとおりです。

E
      日付と時刻のロケールの代替表現を使用します。この修飾子は、、、および%c変換指定子に適用されます。たとえば、日本語ロケールでは、日本の天皇の支配に基づく日付形式を生成できます。%C%x%X%y%Y%Ex

O
      数値を表すには、ロケールの代替数値記号を使用します。この修飾子は数値変換指定子にのみ適用されます。

型が修飾子をサポートしているが代替表現が使用できない場合は無視されます。

質問:この修飾子を使用する方法の[他の]例です。

この説明は私が見るのと似ています。 »他のものが設定されている場合は何かをしますが、あまり期待しないでください。«。たまにはこんなものがどこから来たのか、その目的が何なのか気になります。

答え1

時には選択の余地が多すぎるということに同意します。しかし、世界は広くて喜ばなければならないさまざまなグループがあるので、明らかに誰かがこれを望んでいます。

libcライブラリを見ると、次の関数が見つかります。

7.6.2 ロケールデータへの正確なアプローチ

X/Open 移植性ガイドの作成中、著者は localeconv 機能がロケール情報への合理的なアクセスを提供するのに十分ではないことに気づきました。ロケール(POSIX.1規格で後で指定)で利用可能な情報にアクセスするには、より多くの方法が必要です。したがって、nl_langinfo関数が導入されました。

— 関数: char * nl_langinfo(nl_item エントリ)

nl_langinfo 関数は、ロケールカテゴリの個々の要素にアクセスするために使用できます。すべての情報を返す localeconv 関数とは異なり、nl_langinfo を使用すると、呼び出し側が必要な情報を選択できます。これは非常に速く、関数を何度も呼び出すことは問題ではありません。

第2の利点は、数値及び通貨形式情報に加えて、LC_TIME及びLC_MESSAGESカテゴリの情報を使用することもできることである。

nl_type型はnl_types.hで定義されています。パラメーター項目は、ヘッダーファイルlanginfo.hで定義されている値です。 X/Open 標準は次の値を定義します。

nl_items提供できる機能の1つnl_langinfoはですERA

連帯

戻り値は、現在のロケールで使用されている時代を表します。ほとんどのロケールはこの値を定義しません。この値を定義するロケールの例は日本語です。日本の伝統的な日付表現には、当時の天皇の支配に対応する年号が含まれています。

通常、この値を直接使用する必要はありません。フォーマット文字列にE修飾子を指定すると、strftime関数はこの情報を使用します。返される文字列の形式は指定されていないため、他のシステムがそれを知っていると仮定してはいけません。

源泉:7.6.2 ロケールデータへの正確なアプローチ

関連情報