2012-02-21 52 views
-4

我有以下C#只顯示月/

string.Format("{0:MM/dd}",item.ActDate) 

不知道乳清它仍然顯示它01/09/2012。我只需要它顯示爲01/09。 有什麼想法?

+5

是ActDate一個DateTime類型? – rene 2012-02-21 20:14:06

+1

請顯示一個簡短但完整的程序來演示問題 - 並演示「ActDate」的類型。 – 2012-02-21 20:16:53

回答

2

是ActDate日期時間?

item.ActDate.ToString("MM/dd") 
0

什麼數據類型是ActDate?如果它是一個日期時間,那應該很好。如果它是一個字符串,那麼在將它轉換爲該字符串時應該正確格式化它。

0

該代碼絕對不會顯示年,假設ActDate真的是一個DateTime

string text = string.Format("{0:MM/dd}", DateTime.Today); 
Console.WriteLine(text); // Prints 02/21 

當然,如果ActDate已經是一個字符串(「01/09/2012」),那麼,格式化將不會做任何事 - 它會保持原樣。如果是這種情況,則需要首先將其解析爲DateTime。 (或者使用直字符串操作,但我不認爲這是一個好主意。)

使用item.ActDate.ToString("MM/dd")(可能指定適當的文化)是整潔的代碼,但基本上它不會將結果從當前的代碼更改。 (編輯:如果它編譯如果不能編譯,這將再次表明,它不是一個DateTime ...)

+0

我想你的'ActDate'是一個字符串的假設是正確的。在這種情況下,'item.ActDate.ToString(「MM/dd」)'*會改變結果與當前代碼相比;代碼將不再編譯,暴露出錯誤的邏輯。 – phoog 2012-02-21 20:37:10

+0

@phoog:這是真的:) – 2012-02-21 20:44:25

0

你可以試試這個:

item.ActDate.ToString("MM/dd");