Date

日期修飾符解釋

  • October 29, 2013

info同樣,我在頁面中發現了一些我不理解的有趣內容,info date確切地說是:

可選修飾符可以遵循可選標誌和寬度規範。修飾符是:

E
      使用區域設置的替代表示日期和時間。此修飾符適用於%c%C%x%X和轉換說明符%y%Y例如,在日本語言環境中,%Ex可能會產生基於日本天皇統治的日期格式。

O
      對數字使用區域設置的替代數字元號。此修飾符僅適用於數字轉換說明符。

如果格式支持修飾符但沒有可用的替代表示,則忽略它。

問:一個

$$ other $$例如,如何使用此修飾符。 對我來說,描述聽起來像“如果設置了其他東西,會做一些事情,但不要期望太多”。有時我想知道這樣的事情是從哪裡來的,它們的目的是什麼。

我同意你的觀點,有時選擇太多,但世界很大,他們有很多不同的派對要取悅,所以顯然有人想要這個。

如果你查看 libc 庫,你會發現這個函式:

7.6.2 精確訪問區域設置數據

在編寫 X/Open 可移植性指南時,作者意識到 localeconv 函式不足以提供對語言環境資訊的合理訪問。本應在區域設置中可用的資訊(如稍後在 POSIX.1 標準中指定的)需要更多方法來訪問它。因此引入了 nl_langinfo 函式。

— 函式:char * nl_langinfo (nl_item item)

nl_langinfo 函式可用於訪問語言環境類別的各個元素。與返回所有資訊的 localeconv 函式不同,nl_langinfo 允許呼叫者選擇它需要的資訊。這非常快,多次呼叫這個函式也沒有問題。

第二個優點是,除了數字和貨幣格式資訊之外,還有來自 LC_TIME 和 LC_MESSAGES 類別的資訊。

nl_type 類型在 nl_types.h 中定義。參數項是在標頭 langinfo.h 中定義的數值。X/Open 標准定義了以下值:

nl_items您可以提供的nl_langinfo功能之一是ERA.

它是

返回值表示目前語言環境中使用的時代。大多數語言環境不定義此值。定義此值的語言環境的一個範例是日語。在日本,日期的傳統表示包括與當時天皇在位的時代名稱。

通常不需要直接使用這個值。在其格式字元串中指定 E 修飾符會導致 strftime 函式使用此資訊。未指定返回字元串的格式,因此您不應假設在不同系統上都知道它。

來源:7.6.2 精確訪問區域設置數據

引用自:https://unix.stackexchange.com/questions/97961