C# 转换日期时间格式

C# 转换日期时间格式,c#,asp.net-mvc,parsing,datetime,C#,Asp.net Mvc,Parsing,Datetime,我正在尝试将字符串20151107转换为日期格式2015-11-07 这是我的密码: public static DateTime CustomDateFormat(this string resultdate) { DateTime dt = DateTime.ParseExact(resultdate, "yyyyMMdd", CultureInfo.InvariantCulture); return dt; } 但是,这会返回如下内容11/07/2015 12:00:00

我正在尝试将字符串
20151107
转换为日期格式
2015-11-07

这是我的密码:

public static DateTime CustomDateFormat(this string resultdate)
{
    DateTime dt = DateTime.ParseExact(resultdate, "yyyyMMdd", CultureInfo.InvariantCulture);
    return dt;
}
但是,这会返回如下内容
11/07/2015 12:00:00 AM


有什么想法吗?

您的日期会这样返回,因为您返回的是整个
DateTime
对象,并且由于您没有提供时间,因此默认为
00:00:00.00

如果要以特定格式返回日期,可以使用或

在您的情况下,您需要
2015-11-07
,它是
yyyy-MM-dd
的自定义格式,可以这样使用:

public static string CustomDateFormat(string resultdate)
{
    DateTime dt = DateTime.ParseExact(resultdate, "yyyyMMdd", CultureInfo.InvariantCulture);
    return dt.ToString("yyyy-MM-dd");
}

您将返回一个始终包含时间组件的
DateTime
。如果需要该字符串值,则需要将
日期时间
转换为
字符串
-例如
。ToString(“yyyy-MM-dd”)
已经尝试过,但返回了“无法隐式将类型“string”转换为“System.DateTime”错误。是否更改了方法签名?@Qwerty请确保将其更改为返回字符串,而不是约会时间。
 public static String CustomDateFormat(this string resultdate)
    {
        DateTime dt = DateTime.ParseExact(resultdate, "yyyyMMdd", CultureInfo.InvariantCulture);
        return dt.ToString("yyyy-MMM-dd");
    }