0

「文字列が有効な日時として認識されませんでした」というエラーが発生します。次のコードを使用します。

NewRow["ExpiryDate"] = DateTime.ParseExact(SelectedRow.Cells[9].Text, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture); 

ここで、selectedRowはデータベースの行です。コードはRowCommandイベントで記述されています。SelectedRow.Cells [9] .Textの値は、クライアント側ではdd-MM-yyyy形式ですが、サーバー側では異なります。

すべての日時形式で機能するジェネリックコードを作成するにはどうすればよいですか?

4

3 に答える 3

5

dd-MM-yyyy データの日付形式を指定する必要があります。

次の方法を使用します。

DateTime.ParseExact Method (String, String[], IFormatProvider, DateTimeStyles)

サンプル:

 string[] formats = { "dd-MMM-yyyy", "dd/MMM/yyyy", "dd-MM-yy","d/M/yy"};
 string dateString = "1/1/10";

 DateTime date=DateTime.ParseExact(dateString ,formats,
    System.Globalization.CultureInfo.InvariantCulture,
     System.Globalization.DateTimeStyles.None);
于 2012-06-13T05:33:59.673 に答える
0

dd-MM-yyyy形式を受信して​​いますが、parseExactではdd / MM/yyyyを指定しています。と置換する '-'

于 2012-06-13T05:33:04.180 に答える
0

AVD

これを試してください....または同様の

NewRow["ExpiryDate"] = DateTime.ParseExact(SelectedRow.Cells[9].Text, "dd/MM/yyyy".Replace("/", "-"), System.Globalization.CultureInfo.InvariantCulture);
于 2012-06-13T05:43:18.953 に答える