何らかの理由で、 DateTime.ToString( "g")を使用すると、サーバー上のASP.NETコードがMM / dd/ yyyyではなくdd/MM/yyyyの形式を返すようになりました。
すべての「g」フォーマット文字列を具体的なフォーマット文字列またはCultureInfo引数に置き換えるのではなく、アプリケーション全体でデフォルトの「短い日付」フォーマットをオーバーライドする方法はありますか?
私の好みは実際にはデフォルトの形式として「yyyy-MM-dd」ですが、すべてのユーザーが米国にいるので、米国中心のMM / dd/yyyyで生活できます。
明確化:デフォルトのカルチャ全体を変更したくありません。これは、通貨や数値のフォーマットでの小数/カンマの使用などに影響を与える可能性があります。
ToString( "g")呼び出しをオーバーライドして、ISO / IEC 8824日付形式( "yyyy-MM-dd")を使用したいだけです。
コード全体を検索して置換し、すべてのToString()呼び出しでCultureInfoを強制することはできますが、それが最も保守しやすいソリューションであるとは思えません。
私の現在の解決策は、日付をフォーマットするための静的メソッドを定義し、コードベース全体でToString()の代わりにそれを呼び出すことです。しかし、繰り返しになりますが、コードのどこかでそうするのを忘れると、また間抜けな日付になります。