我有一个存储事件的mySQL数据库,这些事件都有日期。我输入事件日期,它们以字符串形式在HTML中输出。
<ul id="latest-events">
@{
IEntity[] latestEvents = ViewBag.LatestEvents;
foreach (IEntity event in latestEvents)
{
<li class="item">
<span class="event-date">
@event["DisplayDate"]
</span>
<a href="#">@event["Title"]</a>
<span class="teaser">@Html.Raw(event["Teaser"])</span>
</li>
}
}
</ul>
Run Code Online (Sandbox Code Playgroud)
目前,格式为 "10/31/2014 12:00:00 AM"
我希望这仅仅是Oct 31我认为的MMM d格式。
这样的事情可能吗?
var myDate = event["DisplayDate"];
var oldFormat = "M/d/yyyy h:m:s";
var newFormat = "MMM d";
var newDate = myDate.oldFormat.ConvertTo(newFormat);
Run Code Online (Sandbox Code Playgroud)
只是要清楚,我不知道C#,这就是为什么以上ConvertTo可能甚至不可能的原因。是否可以使用转换我的字符串DateTime?
您应该能够简单地使用Razor来调用转换:
@item.Date.ToString("MMMM dd, yyyy")
Run Code Online (Sandbox Code Playgroud)
另一种方法:
[DisplayFormat(DataFormatString = "{MMMM 0:dd yyyy")]
public DateTime Date { get; set; }
@Html.DisplayFor(d => d.Date);
Run Code Online (Sandbox Code Playgroud)
您也可以这样做DateTime.ParseExact。
var date = DateTime.ParseExact(oDate, format, CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
另一个选择,希望对您有所帮助。