2017-03-06 86 views
0

我傳遞一個日期作爲參數,其中的DayDate是參數刪除時間格式的日期

string daydate 

的DayDate的內容是3/3/2017 12:00:00 AM

我這樣做是爲了排除時間,目前仍是時間不會消失

string strCleanDate = String.Format("{0:M/d/yyyy}", daydate); 

我該如何消除時間?

+0

https://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx閱讀此花花公子。 – Juanche

回答

0

這是因爲格式化程序被忽略,因爲您傳遞給string.Format的實例是一個字符串,所以佔位符填充了您傳入的值並且格式被完全忽略。如果您想要應用DateTime格式,則需要傳入DateTime類型的實例。

您的第一個修復應該是將您的參數更改爲DateTime而不是string。否則,調用者可能會通過"HI THERE",您的方法/應用程序會中斷,或者更糟糕的是將該值推送到商店,現在您的商店被污染的值無效。

public void SomeMethod(DateTime daydate) 
{ 
    var dateOnly = dayDate.Date; 
} 
+0

那麼你是說先轉換成日期時間? – user2320476

+0

@ user2320476 - 不,我想說的是,在期望DateTime實例時,不要接受'string'作爲參數類型。 – Igor

+0

@ user2320476 - 即。調用者應該被迫傳入'DateTime'的實例,而不是字符串。 – Igor

0

您應該將dayDate作爲日期時間值而不是字符串。然後格式將正常工作。