2016-04-27 102 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"); 
    }