Asp.net mvc 如何在Razor视图中格式化日期时间?
我有如下变量:Asp.net mvc 如何在Razor视图中格式化日期时间?,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我有如下变量: DateTime crd = a.CreationDate; (shown as a variable in C# but available in razor views) 我想使用以下格式将其显示为日期:11/06/2011 02:11 理想情况下,我希望有一些HTML帮助程序。有没有人已经有了可以满足我需要的东西 在您的模型中,您可以根据需要使用格式设置属性 [DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")] pub
DateTime crd = a.CreationDate; (shown as a variable in C# but available in razor views)
我想使用以下格式将其显示为日期:11/06/2011 02:11
理想情况下,我希望有一些HTML帮助程序。有没有人已经有了可以满足我需要的东西 在您的模型中,您可以根据需要使用格式设置属性
[DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
pubilc DateTime CreationDate{ get; set }
您可以像中那样创建显示模板或编辑器模板,但该格式将应用于给定范围内的所有DateTime变量(可能是好的,也可能是坏的) 使用该属性可以很好地定义单个字段的格式 请记住对上述任一项使用
@Html.DisplayFor(model=>model.crd)
和/或@Html.EditorFor(model=>model.crd)
语法
您也可以在视图中始终使用该方法进行更多特殊格式设置
@crd.ToString("MM/dd/yyyy HH:mm") // time using a 24-hour clock
怎么样
@crd.ToShortDateString()文件
使用以下代码设置日期格式:
@string.Format("{0:ddd}",Convert.ToDateTime(Html.DisplayFor(model => model.Booking.BookingFromDate).ToString()))
如果日期字段具有必需属性,则不希望验证null
值。
另一方面,如果您有一个日期列表,并且想要获取第一个日期,则可以使用三元运算符:
Begin Date: @string.Format("{0:MM/dd/yyyy}", Convert.ToDateTime(Model.aList.Where(z => z.Counter == 1).Select(z => z.Begin_date).First()))
试试Razor视图
@Html.Raw(item.Today\u Date.Date.ToString(“dd.MM.yyyy”))为了完整性,还可以使用字符串插值。我不认为这是一个可用的功能时,问这个问题
@($"{crd:dd/mm/yyyy HH:mm}")
此答案可能重复的地方应该改进。尝试了您建议的我自己的日期格式,因此复制了提取属性,但仍然不起作用。有什么想法吗?好的,快点说。我使用的是@Model.DateOfBirth,但是为了让DisplayFormat属性正常工作,您需要使用@Html.DisplayFor(Model=>Model.DateOfBirth)。这对我不起作用。我是这样渲染字段的:
是否正确?您可能需要在数据批注中使用ApplyFormatInEditMode=true,如下所示。。。[DisplayFormat(ApplyFormatInEditMode=true,DataFormatString=“{0:dd-MMM-yyyy}”)]或尝试@Html.Raw(item.Today\u-Date.Value.ToString(“dd.MM.yyyy”))确保还为DisplayFormat属性指定了ApplyFormatInEditMode=true。