我傳遞一個日期作爲參數,其中的DayDate是參數刪除時間格式的日期
string daydate
的DayDate的內容是3/3/2017 12:00:00 AM
我這樣做是爲了排除時間,目前仍是時間不會消失
string strCleanDate = String.Format("{0:M/d/yyyy}", daydate);
我該如何消除時間?
我傳遞一個日期作爲參數,其中的DayDate是參數刪除時間格式的日期
string daydate
的DayDate的內容是3/3/2017 12:00:00 AM
我這樣做是爲了排除時間,目前仍是時間不會消失
string strCleanDate = String.Format("{0:M/d/yyyy}", daydate);
我該如何消除時間?
這是因爲格式化程序被忽略,因爲您傳遞給string.Format
的實例是一個字符串,所以佔位符填充了您傳入的值並且格式被完全忽略。如果您想要應用DateTime
格式,則需要傳入DateTime
類型的實例。
您的第一個修復應該是將您的參數更改爲DateTime
而不是string
。否則,調用者可能會通過"HI THERE"
,您的方法/應用程序會中斷,或者更糟糕的是將該值推送到商店,現在您的商店被污染的值無效。
public void SomeMethod(DateTime daydate)
{
var dateOnly = dayDate.Date;
}
那麼你是說先轉換成日期時間? – user2320476
@ user2320476 - 不,我想說的是,在期望DateTime實例時,不要接受'string'作爲參數類型。 – Igor
@ user2320476 - 即。調用者應該被迫傳入'DateTime'的實例,而不是字符串。 – Igor
您應該將dayDate
作爲日期時間值而不是字符串。然後格式將正常工作。
https://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx閱讀此花花公子。 – Juanche