确定一周的哪一天开始

如何在当前区域设置中确定一周的哪一天? 我需要用C语言,大概是通过标题。 谢谢。

区域设置不包含该信息。 那是因为“一周的第一天”意味着取决于应用程序(在每个应用程序上),而不是在计算机上。

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


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

在Linux下,可以在locale实用程序中识别一周的第一天。 ( man 5 locale ,或locale docs online 。搜索“LC_TIME”。)它被记录为符合POSIX.2,ISO / IEC 14652。

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

我所在地区的第一天是星期天。

我还没有能够找到它的系统调用或库调用。 我没有方便的源代码。