-1

DateTimeオブジェクトをWebサービスに渡そうとしています。システムは、SqlDateOverflowエラーがあることを通知し続けます。オブジェクトを文字列に変換しようとしましたが、同じエラーが続きます。

特定のカルチャを使用するシステムからDateTimeオブジェクトを渡すにはどうすればよいですか?また、Webサービスが存在するサーバーは別のカルチャを使用しますか?オブジェクトを標準化して、そのカルチャに関係なく、システムがオブジェクトを同等のDateTimeに解析できるようにする方法はありますか?

DateTime.Parseメソッド、DateTime.TryParseメソッド、さらにはDateTime.ParseExactメソッドを使用してみましたが、すべて「SqlDateOverflow」になります。

4

3 に答える 3

0

私は常に日付をISO8601フォーマットの文字列として渡します

C# で dateTime を ISO 形式 yyyy-mm-dd hh:mm:ss に変換するを参照 してください。

于 2012-11-16T12:54:42.370 に答える
0

この問題を回避するには、Web サービスで呼び出す SQL スクリプト/プロシージャを変更し、最初に次のように追加します。

SET DATEFORMAT dmy; -- day/month/year

また

SET DATEFORMAT mdy; -- month/day/year

このように、正しくフォーマットされた文字列として渡すと、SQL エンジンは常に正しく処理します。

于 2012-11-16T12:56:12.920 に答える
0

行き先/出身地の文化に関する詳細がなくても、これは目前の問題に役立つ可能性があります

DateTime.Parse(yourDateTimeString,CultureInfo.InvariantCulture)
于 2012-11-16T12:56:59.207 に答える