Necesito determinar si la cultura/configuración regional actual está configurada para usar la hora am/pm o la hora de 24 horas.¿Cómo determinar si la cultura/lugar actual usa am/pm o la hora de 24 horas?
Al principio pensé que podía hacer esto:
bool time24Hour = Thread.CurrentThread.CurrentCulture.DateTimeFormat.AMDesignator == "";
Pero luego leí los comentarios sobre la última respuesta en este hilo Get just the hour of day from DateTime using either 12 or 24 hour format as defined by the current culture que parece dar a entender que esto no funcionará.
Supongo que podría formatear un tiempo arbitrario, y luego analizar los resultados, pero seguramente hay una manera más simple.
EDIT:
Véase también mi comentario abajo - Sólo quiero para determinar cuál de las dos cadenas constantes pre-formateados que contienen listas de horas que debería seleccionar, y la esperanza de evitar una gran cantidad de contorsiones innecesarios - acabo Necesito una respuesta sí/no en cuanto a si se trata de una cultura am/pm o una cultura de 24 horas.
El programa es un programa de WinForms, si eso sirve de ayuda.
¿Por qué es importante para usted? –
Necesito seleccionar una de las dos listas de horas pregeneradas y constantes, ya sea "9 10 11 12 13 14 15 16 17" o "9 10 11 12 1 2 3 4 5", dependiendo de la cultura. Espero que no sea necesario pasar por muchas contorsiones que involucren DateTime y formateo, etc. – RenniePet
Primero, debe editar su pregunta para incluir esa información. Segundo, ¿estás usando Windows Forms? ¿Formas web? Silverlight? –