.net mvc 中控制日期的显示格式

MVC中的@Html.DisplayFor等方法控制日期的显示格式:

在Sql Server2008中,如果将某字段定义成DateTime类型,那么在视图中会默认显示成年月日时分秒的方式(2020/4/12 12:08:39 ), 想自定义显示样式怎么办呢?

方法一

model类上面添加DisplayFormat的attribute,需要引用

usingSystem.ComponentModel.DataAnnotations;

然后添加格式化时间特性

[Display(Name = "发布时间:")]
[DisplayFormat(DataFormatString = "{0:yyyy年MM月dd日}")]
public DateTime Time{ get; set;}

Razor视图写上

<span> @Html.DisplayFor(n => n.time) </span>

启动项目 ,页面上就可以显示自定义的时间!

方法二

先设置一个时间显示的模板,然后在需要显示时间的地方调用这个模板就行了。

1、在Share文件夹下,创建一个文件夹DisplayTemplates

2、在DisplayTemplates文件夹下,创建一个视图DateTime.cshtml

3、在视图DateTime.cshtml中输入如下代码,后面那句也可以换成@Model.ToShortDateString()或其它日期格式。

@model System.DateTime
@Model.ToLongDateString()

4、在需要显示日期的地方,由原来的

<span> @Html.DisplayFor(n => n.time) </span>

替换成

<span>@Html.DisplayFor(n => n.createTime, "DateTime")</span>

这样就完成了时间格式的显示转换。由原来的显示方式(14/12/16 15:54:13)显示成了(2014年12月16日)

你可能感兴趣的:(.net mvc 中控制日期的显示格式)