如何在当前区域设置中确定一周的哪一天?我需要在C中使用它,大概是通过<time.h>
标题。感谢。
答案 0 :(得分:0)
区域设置不包含该信息。这是因为“一周的第一天”意味着取决于应用程序(在每个应用程序上),而不是在计算机上。
在我工作的地方,有些应用程序将星期一视为一周的第一天,其他应用程序将星期日视为一周的第一天。这里的挂历都是星期天作为第一天;制造日历通常使用星期一。
在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
我所在地区的第一天是星期天。
我还没有找到系统调用或库调用。我没有方便的源代码。