2013-01-23 273 views
1

我有一個小的C#程序,它有一個日曆和7個標籤。當我選擇日期時,標籤會顯示該周的日期和日期。格式化TimeSpan字符串

使用TimeSpan字符串填充標籤,我想要做的就是格式化此字符串,以便它只顯示日期和時間。

這是我到目前爲止的代碼:

 private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e) 
     { 
      DateTime dTime = new DateTime(); 
      dTime = monthCalendar1.SelectionStart; 
      dTime -= new TimeSpan((int)dTime.DayOfWeek, 0, 0, 0); 

      for (int i = 1; i < 8; i++) 
      { 
       var dt = dTime.AddDays(i); 
       lb[i].Text = dt.DayOfWeek + " : " + dt.Date;       
      }   
     } 
+1

你可以像這樣使用lb [i] .Text = dt.Date.ToString(「dd/MM/yyyy」); – Pandian

回答

2

瞭解更多詳細信息,您有多種選擇。

可以使用ToShortDateString()方法爲DateTime

lb[i].Text = dt.DayOfWeek + " : " + dt.Date.ToShortDateString() 

,或者你可以到ToString("format")方法提供的格式來指定你想要什麼它看起來像。

lb[i].Text = dt.DayOfWeek + " : " + dt.Date.ToString("MM/dd/yyyy"); 
+0

我喜歡第二種解決方案,看起來更加靈活。 – Tacit

+0

@Titit:取決於您的需求。第一種解決方案的優勢在於適應用戶的文化。例如,在法國,月/日/年不自然,因爲在法語中說日期以日/月/年的順序。第一種解決方案將向法國用戶顯示日/月/年。 –

3

您可以撥打dt.Date.ToShortDateString()

+0

謝謝你的工作。我覺得這麼愚蠢,不想嘗試:s – Tacit

+1

注意線程培養 – Cybermaxs