如何确定哪一天是一周中的第一天在当前的语言环境在C。在俄罗斯星期一是第一天,但我的mac显示本地化日历与错误的第一天。所以我想知道我是否可以确定哪一天是第一天在当前的语言环境。谢谢。
anatoly@mb:/Users/anatoly$ cal
Июля 2012
вс пн вт ср чт пт сб
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
3条答案
按热度按时间vd2z7a6w1#
使用glibc,您可以执行以下操作:
记住先调用
setlocale()
。例如:这将在我的系统上返回
2
(这意味着星期一==DAY_2
)。只是一个提示:我不认为这是glibc的公共API。但是,这是
locale
工具捆绑它如何获得第一个工作日。cal
使用类似的方法以及。根据特定的用途,您可能也对
_NL_TIME_FIRST_WORKDAY
感兴趣。46qrfjad2#
在我的第一篇文章中我错了,ICU提供了一个C API。
因此,如果您可以接受对该库的依赖性,则可以使用以下代码片段轻松获取每周的第一天:
然后将程序与
icu-i18n
pkg-config库链接。啊,他们有相当广泛的example printing a calendar,如果你可能感兴趣。
vd2z7a6w3#
显然在Mac上,你可以用途:
来源:1(https://www.fltk.org/newsgroups.php?gfltk.coredev%20v:18854)。