出于某种原因,更改默认ASP.NET文化,我的服务器上ASP.NET代码现在返回DD/MM/YYYY的替代 MM /DD/YYYY当我使用日期时间的格式.ToString(“g”)。日期格式
,而不是一个具体的格式字符串或CultureInfo的参数替换所有的“G”格式字符串,是有办法,我可以只覆盖,在整个应用程序,默认的“短日期”格式?
我的偏好实际上是“yyyy-MM-dd”作为默认格式,但我可以与以美国为中心的MM/dd/yyyy一起生活,因为所有用户都在美国。
澄清:我不想更改整个默认文化,这可能会影响货币和使用小数/逗号等格式化数字。
我只是想覆盖任何的ToString( “G”)调用使用ISO/IEC 8824日期格式( “YYYY-MM-DD”)。
我可以搜索和在我的代码,以强制的CultureInfo在每一个toString()方法调用替换,但不打我作为最易维护的解决方案。
我目前的解决方案是,我已经定义了一个静态方法用于格式化日期,我在我的整个代码库调用它,而不是toString()方法的。但是,如果我忘记在代码的某个地方这样做,我会再次遇到愚蠢的约会。
下面的url中的答案似乎比编写自定义函数更合适:http://stackoverflow.com/questions/5505647/different-datetimeformat-for-the-same-culture-in-different-machines。它简单地取代了当前文化背景下的短期模式。尽管如此,仍然不是理想的。 – Feyyaz 2012-09-29 07:14:41