Có ai biết cách chuyển đổi một số DateTime
từ tiếng Anh sang tiếng Tây Ban Nha không?Chuyển đổi DateTime từ tiếng Anh sang tiếng Tây Ban Nha
ví dụ chuyển đổi:
Thứ Hai 1 tháng 1, 2011
vào
Lunes, Enero 01, 2011 ???
Xin cảm ơn trước.
Có ai biết cách chuyển đổi một số DateTime
từ tiếng Anh sang tiếng Tây Ban Nha không?Chuyển đổi DateTime từ tiếng Anh sang tiếng Tây Ban Nha
ví dụ chuyển đổi:
Thứ Hai 1 tháng 1, 2011
vào
Lunes, Enero 01, 2011 ???
Xin cảm ơn trước.
Yyou có thể sử dụng CultureInfo để làm điều này, nếu bạn thiết lập các nền văn hóa hiện nay trong việc điều hành sợi ngày sẽ định dạng trong văn hóa đúng http://msdn.microsoft.com/en-us/library/5hh873ya.aspx
trong vb.net
Dim TheDate As DateTime = DateTime.Parse("January 01 2011")
Thread.CurrentThread.CurrentCulture = New CultureInfo("es-ES")
MsgBox(TheDate.ToLongDateString)
hoặc C#
DateTime TheDate = DateTime.Parse("January 01 2011");
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-ES");
Interaction.MsgBox(TheDate.ToLongDateString());
Bạn có thể sử dụng DateTime.ParseExact Method để phân tích cú pháp đầu vào thành giá trị DateTime bằng cách sử dụng En glish CultureInfo. Sau đó, bạn có thể sử dụng DateTime.ToString Method với một số tiếng Tây Ban Nha CultureInfo để chuyển đổi giá trị DateTime thành một chuỗi.
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"
Hãy xem xét rằng một người sử dụng tiếng Tây Ban Nha có thể thích các định dạng chuẩn Tây Ban Nha trên định dạng tùy chỉnh của bạn mặc dù:
var result = dt.ToString("D", new CultureInfo("es-ES"));
// result == "martes, 26 de julio de 2011"
+1 để lưu ý định dạng '" dddd, MMMM dd, yyyy "' là không chuẩn trong tiếng Tây Ban Nha. –
tôi vật lộn với điều này trong một thời gian - Cuối cùng đã viết chức năng của riêng tôi. Đó là trong VB nhưng tôi chắc chắn rằng bạn có thể dịch nó để C# rất dễ dàng.
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
ngày 01 tháng 1 năm 2011 là thứ bảy. Có thể bạn sẽ không thể phân tích chính xác ngày này. –