繁体   English   中英

将日期时间转换为格式 ddd MM/dd/yyyy HH:mm:ss

[英]convert date time to format ddd MM/dd/yyyy HH:mm:ss

在下面的代码片段中,我将字符串值 "item.Date" 传递给字符串 "Date" 我想将其转换为这种格式ddd MM/dd/yyyy HH:mm:ss

转换为字符串以及上述格式我猜不太顺利。

我尝试使用:

DateTime dateformatted =  DateTime.ParseExact(item.Date, "ddd dd MMM yyyy h:mm tt", null);

它显示错误。 谁能帮忙

foreach (var item in data)
{
    model.Add(new MailDetailDTO
    {
        Attributes = item.Attribute1,
        Date = item.Date,
        From = item.SentFrom,
        FromOrg = item.OrganizationName,
        IsConfidential = item.IsConfidential,
        MailID = item.MailHeaderID,
    }
}

这就是 MSDN 上的 ParseExact API 文档所说的:

字符串表示的格式必须与指定的格式完全匹配

这意味着您在item.Date字符串属性中存储日期时间值的格式与您作为参数传递给ParseExact API 的自定义日期时间格式ddd dd MMM yyyy h:mm tt存在一定的不匹配。

看看下面的代码片段:

    private static void DateTimeForatError()
    {
        var item = "Sun 22-May-2016 3:52 AM";
        DateTime dateformatted = DateTime.ParseExact(item, "ddd dd MMM yyyy h:mm tt", null); //results in exception
    }

项目变量中存在的日期时间字符串值看起来可解析,但String was not recognized as a valid DateTime.的下一行结果String was not recognized as a valid DateTime. 错误。 那是因为我使用-连字符作为日、月和年的分隔符,而自定义格式字符串dd MMM yyyy使用 space 。 只要我在 item 变量中存储日期时间字符串值的方式有一点不同,它不符合自定义格式字符串ddd dd MMM yyyy h:mm tt它就会爆裂。 当我将 item 的值设置为Sun 22 May 2016 3:52 AM它就成功了。 您只需更改 MailDetailDTO 对象对象中MailDetailDTO值以将其与自定义日期时间字符串格式匹配以消除错误更改您传递给PraseExact API 的自定义日期时间格式字符串以匹配它来自后端数据的item.Date的日期时间值格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM