c#修改字符串

本文关键字:字符串 修改 | 更新日期: 2023-09-27 18:16:14

我正在研究一个应用程序,在这个应用程序中,我从数据库中检索要在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>

c#修改字符串

如果你使用一个DateTime对象,你可以尝试在你的模型中使用[DisplayFormat]

,

 [DisplayFormat(DataFormatString = "{MM/dd/yy}")]
 public DateTime EFFECTIVE_DATE { get; set }

如果你使用的是string而不是DateTime,你可以考虑使用@ByteBlast的解决方案转换数据类型:

DateTime.ParseExact(item.EFFECTIVE_DATE, "MMddyy", CultureInfo.CurrentCulture);

处理这个问题有很多方法。

一种方法是让模型类将数据库中的日期解析为实际的DateTime对象,然后在整个应用程序中使用它们(如果需要对日期执行其他操作,可能是最好的选择)。

另一种方法是在显示字符串时将其分割,如果只需要显示日期的话。像这样:

@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>
}