0

文字列形式の値を dd/MM/yyyy 形式の日付型に変換しようとしています。正常に実行されますが、テキストボックスに fromdate(dd/MM/yyyy) を入力すると問題なく、テキストボックスに todate(dd/MM/yyyy) を入力すると、文字列が有効な日時として認識されなかったというエラーが表示されます。問題は正確には何ですかわからない。同じコードを別のアプリケーションで実行すると問題なく実行されますが、私のアプリケーションではエラーが表示されます。

以下では、必要な形式に配列を使用し、分割も使用しています。

string fromdate = punchin.ToString();
string[] arrfromdate = fromdate.Split('/');
fromdate = arrfromdate[1].ToString() + "/" + arrfromdate[0].ToString() + "/" + arrfromdate[2].ToString();
DateTime d1 = DateTime.Parse(fromdate.ToString());
4

3 に答える 3

2

DateTime.TryParseExact以下のようにしてみてください

DateTime date;
if (DateTime.TryParseExact(inputText, "MM/dd/yyyy",
                           CultureInfo.InvariantCulture,
                           DateTimeStyles.None,
                           out date))
{
   // Success
}

入力日時の形式がわかっている場合は、文字列操作を行う必要はありません。ただし、正しい日付と時刻の書式文字列を指定する必要があります

于 2013-05-13T07:21:05.113 に答える
0

試す :

DateTime.ParseExact(fromdate, "MM/dd/yy", CultureInfo.InvariantCulture) 

明らかに、上記を再フォーマットし、解析している文字列に関連する CultureInfo のインスタンスを作成することで異なるプロバイダーを使用できます。また、フォーマット文字列を変更して、そのカルチャを反映したり、より多くの日付部分に対応したりできます。

于 2013-05-13T07:22:41.307 に答える