newlocale (3)的手册页部分说明:
The mask is the logical OR of the following:
LC_COLLATE_MASK Collation
LC_CTYPE_MASK Character type
LC_MESSAGES_MASK Messages
LC_MONETARY_MASK Monetary
LC_NUMERIC_MASK Numeric
LC_TIME_MASK Time
LC_ALL_MASK The logical OR of all of the above
但它并没有具体说明每个掩码位实际上意味着什么。在我的情况下,我需要AM_STR
,PM_STR
,月缩写(ABMON_1
,...),完整月份名称(MON_1
,...)的本地化字符串,工作日缩写(ABDAY_1
,...)和完整的工作日名称(DAY_1
,...)。
作为一个有根据的猜测,我认为我需要LC_MESSAGES_MASK
- 但我还需要LC_TIME_MASK
吗?
答案 0 :(得分:1)
您需要LC_TIME_MASK
;根据您的要求,您不需要LC_MESSAGES_MASK
。
LC_MESSAGES
控制错误消息,而不是时间格式化。要查看LC_TIME
之类的“未屏蔽”名称,请参阅setlocale(3)
的手册页。它们是标准C(尽管链接的POSIX页面包含一些扩展名 - 特别是"POSIX"
语言环境)。
答案 1 :(得分:0)
您可以在POSIX中找到有关区域设置的详细说明,here
定义了不同的类型