2012-02-29 8 views
1

datetimeオブジェクトをyyyy/MM/ddの形式に変換するにはどうすればよいですか?datetimeをyyyy/MM/ddに変換する

DateTime selectedDate =Convert.ToDateTime(Calendar1.SelectedDate.ToShortDateString()); 
selectedDate = DateTime.ParseExact(selectedDate, "yyyy/MM/dd", CultureInfo.InvariantCulture); 

をしかし、私は次のエラーを取得::私はこれにしようとしています「System.DateTime.ParseExact(文字列、文字列、System.IFormatProvider)」の最良のオーバーロードされたメソッドの試合は、いくつかの無効を持って

を引数

または

引数 '1':STRI」から 'のSystem.DateTime' から変換することはできませんng '

+3

文字列を 'DateTime'に変換するのか、' DateTime'を文字列に変換するのかは明確ではありませんか? –

+1

これは貧しい質問です。あなたが書いた内容をもう一度読んで、それを修正して、それがはっきりしていて意味があるようにしてください。他の人が言ったように、エラーメッセージは明確で正確です。 – Lazarus

答えて

4

DateTimeには固有の形式はなく、内部表現のみです。

string formatted = DateTime.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture); 

上記formatted文字列が必要な形式でDateTimeインスタンスの値が含まれます:あなたは表示DateTimeインスタンスの値にしたいとき

はフォーマットが場に出ます。

0

日付形式は、文字列に変換する場合や、UI /その他の場所で表示する場合に意味があります。

Calendar1.SelectedDateDateTimeタイプの場合:

string date = Calendar1.SelectedDate.ToString(
             "yyyy/MM/dd", 
             CultureInfo.InvariantCulture); 

Calendar1.SelectedDatestringタイプの場合:

string date = DateTime.ParseExact(
          Calendar1.SelectedDate, 
         "yyyy/MM/dd", 
          CultureInfo.InvariantCulture); 
0

使用Calendar1.SelectedDate.ToString("yyyy/MM/dd");

0

ParseExactは、日時に文字列を変換し、その

selectedDate = DateTime.ParseExact("2012/02/29", "yyyy/MM/dd", CultureInfo.InvariantCulture); 

となります。なぜあなたはdatetimeをdatetimeに変換したいのか分かりませんか?

関連する問題