Devo determinare se la cultura/locale corrente è impostata per utilizzare am/pm time o 24 ore.Come determinare se cultura/locale correnti utilizzano am/pm o 24 ore?
In un primo momento ho pensato che avrei potuto fare questo:
bool time24Hour = Thread.CurrentThread.CurrentCulture.DateTimeFormat.AMDesignator == "";
Ma poi ho letto i commenti sul l'ultima risposta su questa discussione Get just the hour of day from DateTime using either 12 or 24 hour format as defined by the current culture che sembra implicare questo non funzionerà.
Immagino di poter formattare un tempo arbitrario e quindi analizzare i risultati, ma sicuramente c'è un modo più semplice?
EDIT:
Vedi anche il mio commento qui sotto - voglio solo per determinare quale delle due stringhe costanti pre-formattati contenenti elenchi di ore devo selezionare, e la speranza di evitare un sacco di contorsioni inutili - ho solo Ho bisogno di una risposta sì/no se questa è una cultura am/pm o una cultura di 24 ore.
Il programma è un programma WinForms, se questo è di qualche aiuto.
Perché è importante per te? –
Devo selezionare uno dei due elenchi di ore pre-generate e costanti, "9 10 11 12 13 14 15 16 17" o "9 10 11 12 1 2 3 4 5", a seconda della cultura. Spero che non sia necessario passare attraverso molte contorsioni che coinvolgono DateTime e formattazione e così via. – RenniePet
Innanzitutto, è necessario modificare la domanda per includere tali informazioni. Secondo, stai usando Windows Form? Moduli Web? Silverlight? –