0

独自の日時ピッカーの作成に取り組んでいます。日付形式で日付を表示したい。日付形式には、「MM-dd-yyyy」およびその他の形式が含まれます。

以下のようにコードを書きました。

public DateTime getCurrentDate(string dateFormat)
{            
     curDate = DateTime.Now;            
     IFormatProvider theCultureInfo = new System.Globalization.CultureInfo("en-us", true);
     return DateTime.ParseExact(curDate.ToShortDateString(), dateformat, theCultureInfo); 
}

プログラムを実行すると、次のように表示されます。文字列は有効な DateTime として認識されませんでした。

エラーを処理するための解決策を教えてください。

4

2 に答える 2

1

DateTime.ParseExactメソッドには、 にformat of the string一致する表現が必要specified format exactlyです。したがって、 DateTime.ParseExact(s,format,provider) は、s(プロバイダーによって指定された) 両方formatと同じ形式を持つことを期待し、それ以外の場合はスローしますString not recognized as a valid DateTime

あなたの場合、dateFormatは

DateTime y = getCurrentDate("dd/MM/yyyy"); //or
DateTime x = getCurrentDate("MM/dd/yyyy");
于 2012-11-07T09:16:49.370 に答える
0

最後に、私はそれを手に入れました..私はこのように問題を解決します..

 public string getCurrentDate(string dateFormat)
 {
     curDate = DateTime.Now.ToShortDateString();
     curDate = String.Format("{0:" + dateFormat + "}", Convert.ToDateTime(curDate));
     return curDate;
 }
于 2012-11-09T05:13:34.547 に答える