更新これは Windows 7 のバグのようです。Windows 8 で同じシナリオをテストしましたが、そこで再現することはできません。詳細については、この問題について投稿したMS Bug Reportを参照してください。助けてくれたすべての人にもう一度感謝します。
UPDATE 2 Server 2008 R2でもエラーが発生します(予想通り)
元の提出
次のページの日付形式の例を使用して、日付の形式を制御できます。ただし、Windows 7 を使用しているクライアントの 1 人は、カレンダーを変更して、「ddd MM/dd/yy」のような短い日付を表示しました。設定の画像を参照してください。.
このように時計が表示されます。
彼らのマシンで日付を使用する場合を除いて、これは正常に機能します。次のように日付をフォーマットすると...
String.Format("{0:MM/dd/yy}", dt); //the result is 06 04 13, notice the spaces
カレンダー設定で曜日を表示するために ddd を取り外し、同じ形式オプションを使用すると、次のように表示されます...
String.Format("{0:MM/dd/yy}", dt); //the result is 06/04/13, this time it has forward slashes
日付の .ToShortDateString() オプションを指定すると、「Tue 06/04/13」と表示され、データベースにアクセスするとクラッシュします。これが問題の発見方法です。
形式をハードコーディングする以外に、つまり、月をスラッシュから日に結合するなど、これを機能させるために他に何ができるか知っている人はいますか?