我想将日期时间格式从7/20/2016 10:30:00 AM
更改为20 July 2016 10:30 AM
贝娄是我想要改变格式的图像
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>
}
}
}
任何帮助都将受到高度赞赏
答案 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)
例如:
events.Columns.Add(“Occurrence_Time”,typeof(DateTime));
Convert.ToDateTime(reader_events [ “Occurrence_Time”]),
string.Format
希望这会对你有所帮助
答案 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")
。