出于某种原因,当我使用DateTime.ToString("g")时,我服务器上的 ASP.NET 代码现在返回的格式为dd/MM/yyyy而不是MM/dd/yyyy。
与其用具体的格式字符串或 CultureInfo 参数替换所有“g”格式字符串,有没有一种方法可以在整个应用程序中覆盖默认的“短日期”格式?
我的偏好实际上是“yyyy-MM-dd”作为默认格式,但我可以接受以美国为中心的 MM/dd/yyyy,因为所有用户都在美国。
澄清:我不想更改整个默认文化,这可能会影响货币和在格式化数字中使用小数/逗号等内容。
我只想覆盖任何 ToString("g") 调用以使用 ISO/IEC 8824 日期格式(“yyyy-MM-dd”)。
我可以在我的代码中搜索和替换,以在每个 ToString() 调用中强制使用 CultureInfo,但这并不是最可维护的解决方案。
我目前的解决方案是我已经定义了一个格式化日期的静态方法,我在整个代码库中调用它而不是 ToString()。但是再一次,如果我忘记在代码中的某个地方这样做,我将再次有一个愚蠢的约会。