Détermine quel jour de la semaine commence par

Comment puis-je déterminer quel jour la semaine commence par dans les parameters régionaux actuels? J’ai besoin de cela en C, probablement via l’en-tête . Merci.

Les lieux ne portent pas cette information. En effet, le sens du “premier jour de la semaine” dépend de l’application (de chaque application) et non de l’ordinateur.

Là où je travaille, certaines applications considèrent le lundi comme le premier jour de la semaine et d’autres le dimanche comme le premier jour de la semaine. Les calendriers muraux ici utilisent tous le dimanche comme premier jour; les calendriers de fabrication utilisent généralement le lundi.


Sous Windows, utilisez GetLocaleInfo (), mais les parameters régionaux peuvent être modifiés au moment de l’exécution. Il peut être défini via l’API Windows. GetLocaleInfoEx () a une documentation plus détaillée. Il semble que SetLocaleInfo () puisse changer le premier jour de la semaine indépendamment des autres parameters régionaux.

Sous Linux, il existe des dispositions pour identifier le premier jour de la semaine dans l’utilitaire de locale . (Les man 5 locale ou régionaux sont en ligne . Recherchez “LC_TIME”.) Il est documenté conforme à POSIX.2, ISO / IEC 14652.

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

Le premier jour de la semaine dans ma localité est le dimanche.

Je n’ai pas encore été en mesure de trouver un appel système ou un appel à la bibliothèque. Je n’ai pas le code source à scope de main.