在MVC3应用程序中使用C#格式化日期

时间:2011-09-13 14:58:04

标签: c# asp.net-mvc-3 datetime format

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

public DateTime EndTime { get; set; }

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

aModel.EndTime = auction.EndTime.Value;

在我的观点中:

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

目前,日期返回为:

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

我希望它显示为:

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

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

快捷方式......

<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 class="time">@item.EndTime.ToClientDate()</p>

确保View可以看到ExtensionMethods类,如果需要,添加“Using”语句

答案 2 :(得分:1)

在视图中使用ToString方法:

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