2013-01-23 5 views
1

달력과 레이블이 7 개인 작은 C# 프로그램이 있습니다. 날짜를 선택하면 라벨에 해당 요일과 날짜가 표시됩니다.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

에서 자세한 내용을 배울 수 있습니다.

당신은 DateTime 유형

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

에 대한 ToShortDateString() 방법을 사용하거나 당신이 같이 할 정확히 지정 ToString("format") 방법 형식으로 제공 할 수 있습니다.

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

두 번째 솔루션이 더 융통성있게 보입니다. – Tacit

+0

@Tacit : 필요에 따라 다릅니다. 첫 번째 솔루션은 사용자의 문화에 적응할 수있는 이점이 있습니다. 예를 들어, 프랑스어에서는 월/일/년이 자연스럽지 않습니다. 프랑스어로 말하면 날짜가 일/월/년 순서이기 때문입니다. 첫 번째 해결책은 프랑스 사용자에게 일/월/년을 표시합니다. –

3

당신은 dt.Date.ToShortDateString()를 호출 할 수

내가 지금까지 가지고있는 코드입니다.

+0

그 일을 해주셔서 감사합니다. 나는 그렇게하려고하지 않는 것이 어리 석다. : – Tacit

+1

스레드 문화에주의를 기울이십시오. – Cybermaxs