在mvc应用程序中使用c#格式化日期

本文关键字:格式化 日期 mvc 应用程序 | 更新日期: 2023-09-27 18:08:22

我有一个带有DateTime属性的模型:

public DateTime EndTime { get; set; }

在我的控制器中,我将该属性赋值给从数据库返回的值:

aModel.EndTime = auction.EndTime.Value;

And in my View:

<p class="time">@item.EndTime</p>

当前日期返回为:

9/12/2011 --> Month / Day / Year

我希望它显示为:

12/9/2011 --> Day / Month / Year

我确信应用程序是根据服务器设置显示日期的,但我不想改变它。如何像在第二个示例中那样显示日期?

在mvc应用程序中使用c#格式化日期

<p class="time">@String.Format("{0:dd/MM/yyyy}",item.EndTime)</p>

快捷方便的方法…

<p class="time">@item.EndTime.ToString("dd/MM/yyyy")</p>

我建议您将格式字符串存储为配置值,以便您可以稍后轻松更改它…或者为用户添加一个方法来设置他们的首选项

甚至可以做一些扩展方法的工作…

助手类

public static class ExtensionMethods
{
   public static string ToClientDate(this DateTime dt)
   {
      string configFormat = System.Configuration.ConfigurationManager.AppSettings["DateFormat"];
      return dt.ToString(configFormat);
   }
}

配置文件

<appSettings>
    <add key="DateFormat" value="dd/MM/yyyy" />
</appSettings>
<<p> 视图/strong>
<p class="time">@item.EndTime.ToClientDate()</p>

确保View可以看到ExtensionMethods类,如果需要的话添加一个Using语句

在视图中使用ToString方法:

<p class="time">@item.EndTime.ToString("d/M/yyyy")</p>