日期修飾符解釋
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 函式使用此資訊。未指定返回字元串的格式,因此您不應假設在不同系統上都知道它。