Muy simple usando el formato de cadena
en .ToSTring("") :
si usa "hh" - >> La hora, usando un reloj de 12 horas de 01 a 12.
si usa "HH" - >> La hora, usando un reloj de 24 horas de 00 a 23.
si agrega "tt" - >> El designador Am / Pm.
ejemplo de conversión de 23:12 a 11:12 pm:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("hh:mm tt");
var res2 = d.ToString("HH:mm");
Console.WriteLine(res);
Console.WriteLine(res2);
Console.Read();
espere un segundo que no es todo lo que necesita para preocuparse por otra cosa es el sistema Cultura porque el mismo código ejecutado en Windows con otro idioma, especialmente con diferentes idiomas culturales, generará un resultado diferente con el mismo código
Un ejemplo de ventanas configuradas para la cultura del idioma árabe se mostrará así:
// 23:12 م
م significa Tarde (primera letra de مساء).
en otra cultura del sistema dependerá de lo que esté configurado en la opción regional y de idioma de Windows, se mostrará // 23:12 du.
puede cambiar entre diferentes formatos en el panel de control de Windows en Windows regional e idioma -> formato actual (cuadro combinado) y cambiar ... aplicarlo hacer una reconstrucción (ejecutar) de su aplicación y ver de qué está hablando iam.
Entonces, ¿a quién puedo obligar a mostrar las palabras Am y Pm en un evento en inglés si la cultura del sistema actual no está configurada en inglés?
fácil con solo agregar dos líneas: ->
el primer paso agrega using System.Globalization;encima de tu código
y modificando el código anterior para que sea así:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.InvariantCulture);
InvariantCulture => usando el formato de inglés predeterminado.
otra pregunta Quiero que el pm esté en árabe o en un idioma específico, incluso si uso Windows configurado en formato regional en inglés (u otro idioma).
Soution para el ejemplo árabe:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.CreateSpecificCulture("ar-AE"));
esto mostrará // 23:12 م
evento si mi sistema está configurado en un formato de región en inglés. puede cambiar "ar-AE" si desea otro formato de idioma. hay una lista de cada idioma y su formato.
ejemplos: ar ar-SA árabe ar-BH ar-BH árabe (Bahréin) ar-DZ ar-DZ árabe (Argelia) ar-EG ar-EG árabe (Egipto)
datepicker value + TimeofDay:?