¿Alguien sabe cómo convertir un DateTime
de inglés a español?Convertir fecha y hora de inglés a español
por ejemplo convertir:
lunes por, 01 de enero de 2011
en
Lunes, Enero 01, 2011 ???
Gracias de antemano.
¿Alguien sabe cómo convertir un DateTime
de inglés a español?Convertir fecha y hora de inglés a español
por ejemplo convertir:
lunes por, 01 de enero de 2011
en
Lunes, Enero 01, 2011 ???
Gracias de antemano.
Yyou puede utilizar CultureInfo para hacer esto, si se establece la cultura actual en el funcionamiento enhebrar la fecha se formatee en la cultura correcta http://msdn.microsoft.com/en-us/library/5hh873ya.aspx
en vb.net
Dim TheDate As DateTime = DateTime.Parse("January 01 2011")
Thread.CurrentThread.CurrentCulture = New CultureInfo("es-ES")
MsgBox(TheDate.ToLongDateString)
o C#
DateTime TheDate = DateTime.Parse("January 01 2011");
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-ES");
Interaction.MsgBox(TheDate.ToLongDateString());
puede utilizar el DateTime.ParseExact Method se analiza la entrada en un valor DateTime usando un baño glish CultureInfo. Luego puede usar DateTime.ToString Method con un español CultureInfo para convertir el valor DateTime en una cadena.
var input = "Tuesday, July 26, 2011";
var format = "dddd, MMMM dd, yyyy";
var dt = DateTime.ParseExact(input, format, new CultureInfo("en-US"));
var result = dt.ToString(format, new CultureInfo("es-ES"));
// result == "martes, julio 26, 2011"
considerar que un usuario español podría preferir el formato estándar español sobre su formato personalizado sin embargo:
var result = dt.ToString("D", new CultureInfo("es-ES"));
// result == "martes, 26 de julio de 2011"
+1 para anotar el formato '" dddd, MMMM dd, yyyy "' no es estándar en español. –
tuve problemas con esto por un tiempo - Finalmente escribió mi propia función. Está en VB, pero estoy seguro de que puedes traducirlo a C# muy fácilmente.
Private Function FormatDate_Spanish(psDate As Date) As String
Dim sWeekday As String = ""
Dim sMonth As String = ""
Dim sDay As String = ""
Select Case DatePart(DateInterval.Weekday, psDate)
Case 1
sWeekday = "Domingo"
Case 2
sWeekday = "Lunes"
Case 3
sWeekday = "Martes"
Case 4
sWeekday = "Miercoles"
Case 5
sWeekday = "Jueves"
Case 6
sWeekday = "Viernes"
Case 7
sWeekday = "Sabado"
End Select
Select Case DatePart(DateInterval.Month, psDate)
Case 1
sMonth = "Enero"
Case 2
sMonth = "Febrero"
Case 3
sMonth = "Marzo"
Case 4
sMonth = "Abril"
Case 5
sMonth = "Mayo"
Case 6
sMonth = "Junio"
Case 7
sMonth = "Julio"
Case 8
sMonth = "Agosto"
Case 9
sMonth = "Septiembre"
Case 10
sMonth = "Octubre"
Case 11
sMonth = "Noviembre"
Case 12
sMonth = "Diciembre"
End Select
sDay = DatePart(DateInterval.Day, psDate)
FormatDate_Spanish = sWeekday & " " & sDay & " de " & sMonth
End Function
01 de enero de 2011 es un sábado. Probablemente no podrá analizar esta fecha correctamente. –