5

Windowsアプリケーションを開発しています。

その中で、私は文字列形式で日付を持っています>>fileDate="15/03/2013"

データベースフィールドがdatetime.

私はそれのために次のものを使用しました>>

DateTime dt = DateTime.ParseExact(fileDate, "yyyyy-DD-MM", CultureInfo.InvariantCulture);

DateTime dt = DateTime.Parse(fileDate);

これらの方法はどちらも失敗し、エラーが発生しました>>

String was not recognized as a valid DateTime.

何が間違っている可能性がありますか?

それを行う別のテクニックはありますか?

4

6 に答える 6

6
 string fileDate = "15/03/2013";
 DateTime dt = DateTime.ParseExact(fileDate, "dd/mm/yyyy", CultureInfo.InvariantCulture);
于 2013-03-19T06:36:59.730 に答える
4

ParseExactに必要な日付文字列に従って、日付形式を指定する必要があります。詳細については、カスタム DateTime 形式を参照してください - MSDN

変化する

"yyyy-MM-dd HH:ss"

"dd/MM/yyyy"

あなたのコードは

DateTime dt = DateTime.ParseExact(fileDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
于 2013-03-19T06:35:22.047 に答える
2

uはこのSimpleDateFormatで試すことができますdateFormat=new SimpleDateFormat( "MM / dd / yyyy"); 日付convertedDate=dateFormat.parse( "ur_dateString")

于 2013-03-19T06:49:39.383 に答える
2

これを行う必要があります:

DateTime dt = DateTime.ParseExact(fileDate, "dd/MM/yyyy",CultureInfo.InvariantCulture);

"dd/MM/yyyy"文字列で渡すのと同じスタイルで、形式 () の文字列を渡す必要がありますfileDate

于 2013-03-19T06:39:38.580 に答える
1

現在のコード"yyyyy-DD-MM"では、日付部分に大文字でdはなく小文字が必要なため、間違った形式を使用していますD。、また、5y秒を指定している年の部分の場合は4である必要があります。yyyyたとえば、日付文字列による順序は次のようになります"dd/MM/yyyy"。安全を期すために"d/M/yyyy"、を使用することもできます。これは、1桁または2桁の日/月で機能します。

したがって、コードは次のようになります。

string fileDate="15/03/2013";
DateTime dt = DateTime.ParseExact(fileDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);

カスタムDateTime形式の詳細を見ることができます-MSDN

于 2013-03-19T06:42:12.463 に答える
0

これは、文字列「15/03/2013」が、フォーマット文字列「yyyy-MM-dd HH:ss」の DateTime として実際に解析できないためです。

于 2013-03-19T06:34:59.130 に答える