3 votes

Déterminez avec quel jour de la semaine commence la semaine

Comment puis-je déterminer quel jour de la semaine commence la localisation actuelle? J'ai besoin de cela en C, vraisemblablement via l'en-tête . Merci.

0voto

Les paramètres régionaux ne contiennent pas cette information. C'est parce que la signification de "premier jour de la semaine" dépend de l'application (de chaque application), pas de l'ordinateur.

Sur mon lieu de travail, certaines applications considèrent que le lundi est le premier jour de la semaine, et d'autres considèrent que le dimanche est le premier jour de la semaine. Les calendriers muraux ici utilisent tous le dimanche comme premier jour; les calendriers de production utilisent généralement le lundi.


Sous Windows, utilisez GetLocaleInfo(), mais le paramètre régional peut être modifié en cours d'exécution. Il peut être défini via l'API Windows. GetLocaleInfoEx() a une documentation plus détaillée. Il semble que SetLocaleInfo() peut modifier le premier jour de la semaine indépendamment des autres paramètres régionaux.

Sous Linux, il existe des dispositions pour identifier le premier jour de la semaine dans l'utilitaire locale. (man 5 locale, ou documentation de l'outil de localisation en ligne. Recherchez "LC_TIME".) Il est documenté comme étant conforme à POSIX.2, ISO/IEC 14652.

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

Le premier jour de la semaine dans mes paramètres régionaux est le dimanche.

Je n'ai pas encore trouvé d'appel système ou d'appel de bibliothèque pour cela. Je n'ai pas le code source à portée de main.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X