c# - now - DateTime y CultureInfo
datetime short date format c# (3)
Tengo esto en mi código:
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
Y cuando mi cultura actual es holandesa ( nl-NL
) en lugar del 1 de mayo, obtengo el 5 de enero.
Creo que el error está en el segundo parámetro dd.MM.yyyy HH:mm:ss
.
¿Hay alguna manera de arreglar esto usando la clase CultureInfo
?
Puedes probar lo siguiente:
System.Globalization.CultureInfo cultureinfo =
new System.Globalization.CultureInfo("nl-NL");
DateTime dt = DateTime.Parse(date, cultureinfo);
Usa la clase CultureInfo
para cambiar la información de tu cultura.
var dutchCultureInfo = CultureInfo.CreateSpecificCulture("nl-NL");
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", dutchCultureInfo);
InvariantCulture
es similar a en-US
, así que usaría el CultureInfo
correcto en su lugar:
var dutchCulture = CultureInfo.CreateSpecificCulture("nl-NL");
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", dutchCulture);
¿Y qué pasa cuando la cultura es en-nosotros? ¿Tendré que codificar para cada idioma que hay?
Si desea saber cómo mostrar la fecha en otra cultura como "en-us", puede usar date1.ToString(CultureInfo.CreateSpecificCulture("en-US"))
.