首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在 ASP.NET 项目中设置全局 DateTime 格式?

在 ASP.NET 项目中设置全局 DateTime 格式,可以通过以下步骤实现:

  1. 创建一个自定义格式化类,继承自 IFormatProvider 和 ICustomFormatter。
代码语言:csharp
复制
public class DateTimeFormatProvider : IFormatProvider, ICustomFormatter
{
    public object GetFormat(Type formatType)
    {
        return formatType == typeof(ICustomFormatter) ? this : null;
    }

    public string Format(string format, object arg, IFormatProvider formatProvider)
    {
        if (arg is DateTime)
        {
            return ((DateTime)arg).ToString(format);
        }
        return null;
    }
}
  1. 在 Global.asax 文件中的 Application_BeginRequest 方法中,设置当前线程的 CurrentCulture 和 CurrentUICulture 的 DateTimeFormat 属性。
代码语言:csharp
复制
protected void Application_BeginRequest(object sender, EventArgs e)
{
    CultureInfo culture = new CultureInfo(Thread.CurrentThread.CurrentCulture.Name);
    culture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
    culture.DateTimeFormat.LongDatePattern = "yyyy-MM-dd HH:mm:ss";
    Thread.CurrentThread.CurrentCulture = culture;
    Thread.CurrentThread.CurrentUICulture = culture;
}
  1. 在需要格式化 DateTime 的地方,使用 String.Format 方法,并将自定义格式化类作为第三个参数传入。
代码语言:csharp
复制
DateTime dateTime = DateTime.Now;
string shortDate = String.Format(new DateTimeFormatProvider(), "{0:d}", dateTime);
string longDate = String.Format(new DateTimeFormatProvider(), "{0:D}", dateTime);

这样,在整个 ASP.NET 项目中,所有 DateTime 的格式都将统一为 "yyyy-MM-dd" 和 "yyyy-MM-dd HH:mm:ss"。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券