2009-06-12 2 views
19

다음 코드의 경우 결과는이 2와 같음을 알 수 있습니다. MSDN에서 'd'가 '1'부터 ' 31. 한 자릿수의 일은 선행 0이없는 형식으로되어 있습니다. " (또한, 'D'는) 짧은 데이터 형식 인 -형식 .NET DateTime "Day"앞에 0이 없음

DateTime myDate = new DateTime(2009, 6, 4); 
string result = myDate.ToString("d"); 

그러나 결과는 '2009년 6월 4일'실제로 동일하다. 나는 'dd'를 사용할 수는 있지만, 그 값은 앞에 오는 0을 추가한다. 나는 그것을 원하지 않는다.

답변

38

표준 형식 지정자와 달리 사용자 지정 형식 지정자임을 나타내려면 길이가 2 자 여야합니다. 이것은, 또는 다음과 같이 단일 문자 앞에 퍼센트 기호를 포함하여 (출력에 표시됩니다) 공간을 추가하여 수행 할 수 있습니다

string result = myDate.ToString("%d"); 

MSDN

5

오히려 문자열을 포맷 문자열을 사용하는 것보다 어떻게 날 속성을 사용하는 방법에 대한

DateTime myDate = new DateTime(2009,6,4) 
int result = myDate.Day; 

또는 당신은 정말 문자열 형식으로 결과를 필요한 경우

string result = myDate.Day.ToString(); 

날짜의 형식이 아닌 날짜 개체에서 특정 날짜 부분을 얻으려는 경우 속성 (일, 월, 연도, DayOfWeek 등)을 사용하는 것이 좋습니다. (특히 누군가 다른 사람이 기억하고있는 다양한 형식 지정 코드가없는 읽기/유지 관리의 경우)

+0

감사합니다. 좋은 지적입니다. 불행히도 오늘 제 경우에는 형식 문자열을 보고서 레이아웃의 일부로 속성 시트에 넣어야했습니다. 따라서 % d 값을 사용해야했습니다. –