c# - 设置默认日期时间格式 c#

标签 c# asp.net-mvc datetime format

有没有一种方法可以设置或覆盖整个应用程序的默认 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/

相关文章:

c# - 如何使用 bool 条件使用 C# LINQ 从列表中获取对象?

python - 有没有比 for 循环更快的方法来忽略日期并在日期时间系列中获取特定时间?

c# - 自动映射器行为不正常

c# - 如何在 Asp.Net MVC 中使用属性路由为操作生成 URL

asp.net-mvc - 如何在 MVC 中保留复选框列表

asp.net-mvc - 带有 Web Api 和 Controller 路由的 Url.Action

c# - 交换控制模板

c# - C#枚举中的保留关键字

javascript - 将 PHP 日期转换为 javascript 日期格式

datetime - 如何在Haxe中以毫秒为单位获取当前时间?