2011-07-26 12 views
7

DateTimeを英語からスペイン語に変換する方法は誰も知らないですか?DateTimeを英語からスペイン語に変換する

例えば変換:

2011年1月1日(月曜日)

Lunes、Enero 01、2011 ???

ありがとうございます。

+3

2011年1月1日は土曜日です。おそらく、この日付を正確に解析することはできません。 –

答えて

5

あなたが実行中で現在のカルチャを設定した場合Yyouは日付が正しい文化の中で http://msdn.microsoft.com/en-us/library/5hh873ya.aspx

vb.netで

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

またはC#

をフォーマットするスレッド、これを実行するのCultureInfoを使用することができます
DateTime TheDate = DateTime.Parse("January 01 2011"); 
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-ES"); 
Interaction.MsgBox(TheDate.ToLongDateString()); 
17

を使用して、入力をDateTimeの値にEnを使用して解析することができますグリッシュ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 
関連する問題