2012-03-13 11 views
1

私はC#でのDateTime値に次の文字列を変換しようとしています:C#DateTime特定の形式を変換または解析しますか?

2012年3月1日

しかし、私はConvert.ToDateTimeまたはDateTime.Parseを呼び出すときに、このエラーを取得しておきます。

文字列が有効なDateTimeとして認識されませんでした。

カスタム日付形式を使用する必要がありますが、形式がどのようなものかはわかりません。

上記の形式の文字列をDateTime値に変換するにはどうすればよいですか?

答えて

6
DateTime.ParseExact(yourString, "d MMMM yyyy", new CultureInfo("en-US")) 
+0

+1私は答えが単なるコードを超えて何らかのコンテンツを必要としていると思っていましたが、 –

+2

@M.Babcock、 "Do this"のように? – Joe

+0

@JoeTuskan - 何かが何もないより優れています:D –

0

これは、現在のスレッドからのCultureInfoを取得することにより、サポート日時パターンを見つけることができます私

 string s = "1 March 2012"; 
    DateTime dateTime = DateTime.Parse(s); 
1

のために動作します。

static void Main(string[] args) 
     { 
      const string date = "1 03 2012"; 

      Console.WriteLine(Thread.CurrentThread.CurrentCulture.DateTimeFormat.LongTimePattern); 
      Console.WriteLine(Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern); 
      Console.WriteLine(Thread.CurrentThread.CurrentCulture.DateTimeFormat.LongDatePattern); 
      Console.WriteLine(Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern); 

      Console.WriteLine(DateTime.Parse(date)); 
      Console.WriteLine(Convert.ToDateTime(date)); 


      Console.ReadLine(); 
     } 
関連する問題