2016-04-27 119 views
-2

我试图将字符串20151107转换为日期格式2015-11-07转换DateTime格式

这里是我的代码:

public static DateTime CustomDateFormat(this string resultdate) 
{ 
    DateTime dt = DateTime.ParseExact(resultdate, "yyyyMMdd", CultureInfo.InvariantCulture); 
    return dt; 
} 

然而,这将返回这样的事情11/07/2015 12:00:00 AM

有什么想法?

+1

您返回'DateTime'总是有时间成分。如果你想要这个字符串值,那么你需要将'DateTime'转换为'字符串' - 例如'.ToString(“yyyy-MM-dd”)' –

回答

1

您的日期如此返回,因为您要返回整个DateTime对象,并且由于您没有提供时间,所以它默认为00:00:00.00

如果要以特定格式返回日期,可以使用Standard Format StringsCustom Format String

在你的情况,你想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"); 
} 
+0

试过已经和它返回一个“不能隐式转换类型'字符串'System.DateTime'”错误。 – Qwerty

+1

您是否更改了方法签名? – Steve

+0

没有。我没有。 – Qwerty

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