example - system globalization c#
Cómo producir una cadena de fecha localizada con CultureInfo (2)
Tengo el siguiente código que produce una cadena de fecha en formato en-us. Me gustaría pasar el LCID (o valor equivalente para el idioma localizado) para producir la versión localizada de la cadena de fecha. ¿Cómo lograría esto?
public static string ConvertDateTimeToDate(string dateTimeString) {
CultureInfo culture = CultureInfo.InvariantCulture;
DateTime dt = DateTime.MinValue;
if (DateTime.TryParse(dateTimeString, out dt))
{
return dt.ToShortDateString();
}
return dateTimeString;
}
Puede usar el segundo argumento de la función toString y usar cualquier idioma / cultura que necesite ...
Puede usar el formato "d" en lugar de ToShortDateString
acuerdo con MSDN ...
Así que básicamente algo como esto para volver como el inglés australiano:
CultureInfo enAU = new CultureInfo("en-AU");
dt.ToString("d", enAU);
Puedes modificar tu método para incluir el idioma y la cultura como un parámetro.
public static string ConvertDateTimeToDate(string dateTimeString, String langCulture) {
CultureInfo culture = new CultureInfo(langCulture);
DateTime dt = DateTime.MinValue;
if (DateTime.TryParse(dateTimeString, out dt))
{
return dt.ToString("d",culture);
}
return dateTimeString;
}
Editar
También es posible que desee ver el método tryParse sobrecargado si necesita analizar la cadena en un idioma / cultura particular ...
Use una sobrecarga de ToString () en lugar de un método ToShortDateString (). Proporcionar un proveedor de IFormat.
Esto debería ser útil para formar una cadena de fecha y hora específica:
http://www.csharp-examples.net/string-format-datetime/
Esto debería ser útil con problemas de localización: