3

如何确定当前语言环境中一周从哪一天开始?我在 C 中需要这个,大概是通过<time.h>标题。谢谢。

4

1 回答 1

0

语言环境不携带该信息。那是因为“一周的第一天”的含义取决于应用程序(在每个应用程序上),而不是计算机。

在我工作的地方,一些应用程序将星期一视为一周的第一天,而其他应用程序将星期日视为一周的第一天。这里的挂历都以星期日为第一天;制造日历通常使用星期一。


在 Windows 下,使用 GetLocaleInfo(),但可以在运行时更改区域设置。可以通过 Windows API 进行设置。GetLocaleInfoEx()有更详细的文档。看起来 SetLocaleInfo() 可以独立于其他区域设置更改一周的第一天。

locale在 Linux 下,实用程序中有用于标识一周中第一天的规定。(man 5 locale在线语言环境文档。搜索“LC_TIME”。)它被记录为符合 POSIX.2、ISO/IEC 14652。

$ locale day
Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday

在我的语言环境中,一周的第一天是星期日。

我还没有找到它的系统调用或库调用。我手头没有源代码。

于 2012-07-05T21:54:51.347 回答