有没有一种方法可以设置或覆盖整个应用程序的默认 DateTime 格式。我正在用 C# .Net MVC 1.0 编写应用程序并使用大量泛型和反射。如果我可以将默认的 DateTime.ToString() 格式覆盖为“dd-MMM-yyyy”,会简单得多。当网站在不同的机器上运行时,我不希望这种格式发生变化。
编辑 - 澄清一下,我的意思是专门调用 ToString,而不是其他一些扩展函数,这是因为反射/生成的代码。只更改 ToString 输出会更容易。
最佳答案
日期时间的“默认格式”是:
ShortDatePattern + ' ' + LongTimePattern
至少在当前mono implementation . 如果您想显示类似 2001-02-03T04:05:06Z 的内容,即日期和时间的组合,如 ISO 8606 中指定的那样,这将特别痛苦。 ,但在您的情况下不是大问题:
using System;
using System.Globalization;
using System.Threading;
namespace test {
public static class Program {
public static void Main() {
CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.ShortDatePattern = "dd-MMM-yyyy";
culture.DateTimeFormat.LongTimePattern = "";
Thread.CurrentThread.CurrentCulture = culture;
Console.WriteLine(DateTime.Now);
}
}
}
这将设置 ToString 在日期时间上的默认行为以返回您期望的格式。
关于c# - 设置默认日期时间格式 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1389187/