spanish example español brasil c# .net datetime cultureinfo

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 ...