0

DateOfBirthプロパティを文字列として宣言し、データベースに渡す前にDateTimeに解析しています。ここでは、DateOfBirth列がDateTime形式になっています。

私のローカルシステムでは、変換は正常に機能していますが、アプリケーションをサーバーにホストした後、「文字列が有効な日時として認識されませんでした」などのエラーを示すDateTime変換が表示されます。

私はで試しました

 <system.web>
  <globalization culture="en-gb"/>
  <!-- ... -->
</system.web>

DateTime.Parse(DateOfBirth, new CultureInfo("en-GB"))

役に立たない、この問題は何ですか、誰かがここで私を助けることができます...

4

3 に答える 3

4

私の推測では、文化によれば、あなたは無効な日付を渡していると思います。一般的に、英国の日付は最初に日、次に月で書かれます。1988年4月13日を通過します。これは、13か月目の4日目に解析されます。13月は何月ですか?わかりません。また、.Netランタイムもわかりません。

于 2012-04-27T20:26:25.563 に答える
2

次のように変換する必要があります。

var sqlDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss");
于 2012-04-27T19:24:23.313 に答える
2

私は同じ問題を抱えていました.web.configファイルのカルチャ情報を次のように変更しました:

<globalization culture="en-gb" uiCulture="auto"/>

また

現在までの文字列を次のように解析してみてください。

DateTime dob = DateTime.ParseExact(DateOfBirth, "dd/MM/yyyy", 
CultureInfo.InvariantCulture);

それが役に立てば幸い... :)

于 2012-04-27T22:28:33.200 に答える