我正在处理一个应用程序,在该应用程序中,我从数据库中检索数据,以便在我的cshtml中的表格中显示。我调用的其中一个字段是日期字段。数据库中的数据以下列格式存储:MMDDYY即; 091504.由于我不需要进入的原因,数据必须以该格式存储在数据库中。我试图找出如何修改其显示以显示09/15/04而不是091504.
@model IEnumerable<BillingApp.Models.SERV_CHARGE_INT_RATE_NSF_PENALTY>
<table id="Test" class="tablesorter">
<thead>
<tr>
<th>Effective Date</th>
</tr>
</thead>
@if (Model.Count() == 0)
{
<tbody>
<tr>
<td colspan="4">
No Records match search criteria
</td>
</tr>
</tbody>
}
else{
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.EFFECTIVE_DATE)
</td>
</tr>
}
</tbody>
</table>
答案 0 :(得分:2)
如果您使用DateTime对象,则可以尝试在模型中使用[DisplayFormat]
。
前:
[DisplayFormat(DataFormatString = "{MM/dd/yy}")]
public DateTime EFFECTIVE_DATE { get; set }
如果您使用的是string
而不是DateTime
,则可以考虑使用@ ByteBlast解决方案转换数据类型:
DateTime.ParseExact(item.EFFECTIVE_DATE, "MMddyy", CultureInfo.CurrentCulture);
答案 1 :(得分:0)
有很多方法可以解决这个问题。
一种方法是让你的模型类将数据库中出现的日期解析为实际的DateTime对象,然后在整个应用程序中使用它们(如果你需要对日期做任何其他事情,可能是最好的选择)。 p>
如果你需要做的只是显示日期,那么另一种方法是在显示字符串时对其进行切片。有点像这样:
@foreach (var item in Model)
{
<tr>
<td>
@(item.EFFECTIVE_DATE.Substring(0,2))/@(item.EFFECTIVE_DATE.Substring(2,2))/@(item.EFFECTIVE_DATE.Substring(4,2))
</td>
</tr>
}