如何在asp.net mvc中更改网格中的日期时间格式

时间:2016-09-16 07:57:32

标签: c# asp.net asp.net-mvc

我想将日期时间格式从7/20/2016 10:30:00 AM更改为20 July 2016 10:30 AM

贝娄是我想要改变格式的图像

enter image description here

Bellow是我在控制器中的代码,我有一个事件数据表,在那里我添加了事件名称,发生时间和恢复时间

DataTable events = new DataTable();
        events.Columns.Add("Event_Name", typeof(string));
        events.Columns.Add("Occurrence_Time", typeof(string));
        events.Columns.Add("Recovery_Time", typeof(string));


                while (reader_events.Read())
                {

                    events.Rows.Add(Convert.ToString(reader_events["Event_Name"]), 
                    Convert.ToString(reader_events["Occurrence_Time"]).ToString(),
                    Convert.ToString(reader_events["Recovery_Time"]));           


                 }

之后我在视图数据中传递了这些事件     ViewData [“events”] = events;

Bellow是我的剃刀语法

if (ViewData["events"] != null)
{
  if (ViewData.Values != null && ViewData.Values.Count() > 0)
  {
     foreach (System.Data.DataRow dr in (ViewData["events"] as System.Data.DataTable).Rows)
     {
        <tr>
           <td style="border:1px solid black; color:green;font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif">
              @dr[0]

            </td>
            <td style="border:1px solid black; color:green;font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif">
               @dr[1]
            </td>
            <td style="border:1px solid black; color:green;font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif">
              @dr[2]
            </td>
       </tr>
       }
      }
    }

任何帮助都将受到高度赞赏

4 个答案:

答案 0 :(得分:1)

您可以使用以下

@(string.Format("{0:dd MMMM yyyy hh:mm tt}",dr[1]))

如果dr [1]是字符串,你需要将其解析为datetime然后应用这样的格式:

@(string.Format("{0:dd MMMM yyyy hh:mm tt}",DateTime.Parse(dr[1])))

请注意,为了完美地工作,您需要进行一些文化验证

另一个解决方案是使用typeof(DateTime)代替typeof(string)

从控制器自行设置日期时间

例如:

  1. 应用数据表声明中的更改:
  2.   

    events.Columns.Add(“Occurrence_Time”,typeof(DateTime));

    1. 应用检索部分中的更改
    2.   

      Convert.ToDateTime(reader_events [ “Occurrence_Time”]),

      1. 您可以使用视图侧的string.Format
      2. 希望这会对你有所帮助

答案 1 :(得分:0)

使用DateTime.ParseExact,

git push

根据需要修改代码。

答案 2 :(得分:0)

你可以使用.ToString完整的日期和时间

 yourDate.ToString("dd MMMM yyyy hh:mm tt", CultureInfo.CreateSpecificCulture("en-US"));

答案 3 :(得分:0)

在数据表中添加数据并检查时,将Convert.ToString(reader_events["Recovery_Time"])更改为reader_events["Recovery_Time"].ToString("dd MMMM yyyy hh:mm tt")