2012-02-28 53 views
3

我有以下代碼:如何將前導零添加到String.Format參數?

string textTransDate = String.Format("{0}-{1}-{2} {3}:{4}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute); 

我想前導零添加到月份和日期參數,如果它們都小於10,我將如何做到這一點?

回答

2
String.Format(@"{0:yyyy-MM-dd HH\:mm}", DateTime.Now); 

轉義字符\:確保你會得到一個文字冒號分隔符,而不是一個特定的文化時間分隔符,使其與原始代碼。見Custom Date and Time format strings in MSDN

要獲得前導零的數值參數,看Custom Numeric Format Strings

String.Format("{0:0000}-{1:00}-{2:00} {3:00}:{4:00}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute); 

甚至Standard Numeric Format Strings:如果需要

String.Format("{0:D4}-{1:D2}-{2:D2} {3:D2}:{4:D2}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute); 
+0

你需要或者雙'\'或使用逐字字符串雖然。或者把它放在單引號中。 – 2012-02-28 16:37:17

+0

@JonSkeet - 一如既往的鷹眼,謝謝。 – Joe 2012-02-28 17:18:25

1
string textTransDate = String.Format("{0}-{1:00}-{2} {3}:{4}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute); 
0

這是不是工作:

string textTransDate = DateTime.Now.ToString("yy-MM-hh:mm");