2011-07-26 5 views
7

누구든지 DateTime을 영어에서 스페인어로 변환하는 것을 알고 있습니까?DateTime을 영어에서 스페인어로 변환

예컨대 변환 :

2011년 1월 1일 (월요일)

월요일에, Enero 01, 2011 ???

미리 감사드립니다.

+3

2011 년 1 월 1 일은 토요일입니다. 아마이 날짜를 정확하게 파싱 할 수 없을 것입니다. –

답변

5

당신은 실행의 현재 문화를 설정하면 Yyou 올바른 문화를 포맷합니다 날짜를 스레드,이 작업을 수행하는 CultureInfo를 사용할 수 있습니다 vb.net

Dim TheDate As DateTime = DateTime.Parse("January 01 2011") 
Thread.CurrentThread.CurrentCulture = New CultureInfo("es-ES") 
MsgBox(TheDate.ToLongDateString) 

또는 C#에서 http://msdn.microsoft.com/en-us/library/5hh873ya.aspx

DateTime TheDate = DateTime.Parse("January 01 2011"); 
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-ES"); 
Interaction.MsgBox(TheDate.ToLongDateString()); 
17

En을 사용하여 DateTime 값으로 입력을 구문 분석하려면 DateTime.ParseExact Method을 사용할 수 있습니다 glish CultureInfo. 그런 다음 DateTime.ToString Method을 스페인어 CultureInfo과 함께 사용하여 DateTime 값을 문자열로 변환 할 수 있습니다.

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" 

는 스페인어 사용자가 있지만 사용자 정의 형식을 통해 스페인의 표준 형식을 선호 할 수도 있음을 고려하십시오

var result = dt.ToString("D", new CultureInfo("es-ES")); 
// result == "martes, 26 de julio de 2011" 
+2

"dddd, MMMM dd, yyyy"형식에 주목하기위한 +1은 스페인어로는 비표준입니다. –

-2

나는 잠시 동안 고생 - 마지막으로 내 자신의 기능을 썼다. 그것은 VB에서지만 당신이 C#을 매우 쉽게 번역 할 수 있다고 확신합니다.

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 
관련 문제