字符串转换为自定义的日期格式 - C#剃须刀(Convert string to custom d

2019-10-21 04:38发布

我有一个存储事件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>

目前,该格式是"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);

只是要清楚,我不知道C#这就是为什么上面ConvertTo可能是不甚至有可能。 是否有可能使用到我的字符串转换DateTime

Answer 1:

您应该能够简单地使用剃刀调用转换:

@item.Date.ToString("MMMM dd, yyyy")

另一种方法:

[DisplayFormat(DataFormatString = "{MMMM 0:dd yyyy")]
public DateTime Date { get; set; }
@Html.DisplayFor(d => d.Date);

你也可以做, DateTime.ParseExact

var date = DateTime.ParseExact(oDate, format, CultureInfo.InvariantCulture);

另一种选择,希望这有助于。



Answer 2:

如果你有一个DateTime对象,你可以用这种方式:

 DateTime myDate = .... ;
 string dateToDisplay = myDate.ToString(newFormat);

(顺便说一句,我不知道“MMM d”是有效的格式)
(btw2,使用VAR声明所有变量是个坏习惯。它很容易,你知道这个变量的类型,而不需要看函数的返回知道你正在使用的变量的类型来读取代码。 )



Answer 3:

你需要分析它,这会导致日期时间,然后你就可以格式化你想使用任何方式.ToString()

var dateTime = DateTime.ParseExact(myDate, oldFormat, CultureInfo.InvariantCulture);
var newDate = dateTime.ToString(newFormat);


文章来源: Convert string to custom date format - c# razor
标签: c# razor