정수를 C #에서 월 이름으로 바꾸는 가장 좋은 방법은 무엇입니까?


123

.net에서 정수를 월 이름으로 바꾸는 가장 좋은 방법이 있습니까?

분명히 날짜 시간을 돌려서 문자열을 만들고 거기에서 월 이름을 구문 분석 할 수 있습니다. 그것은 엄청난 시간 낭비처럼 보입니다.

답변:



20

왜 그냥 사용하지 somedatetime.ToString("MMMM")않습니까?


1
그래서 1을 1 월로 바꿔야 할 때마다 1 월을 얻기 위해 임의의 연도와 날짜로 날짜 시간을 새로 만들어야합니까?
DevelopingChris

1
정확합니다. 보너스로 원하는 지역화 가능한 언어로 사용할 수 있습니다. :)
leppie

20

올바른 네임 스페이스 및 개체로 업데이트되었습니다.

//This was wrong
//CultureInfo.DateTimeFormat.MonthNames[index];

//Correct but keep in mind CurrentInfo could be null
DateTimeFormatInfo.CurrentInfo.MonthNames[index];

1
이것은 작동하지 않습니다. Nick Berardi가 정답을 제공했습니다.
raven

1
지금부터 먼저 내 답변을 컴파일하려고합니다
Ovidiu Pacurar

이것이 오래된 질문이라는 것을 깨닫고, 나는 여전히 Nick Berandi가 제공하는 대답이 더 정확하다는 것을 지적하고 싶습니다. (적어도 Microsoft의 구현을 위해-Mono에 대해서는 확실하지 않음) MonthNames 속성은 항상 월 이름의 배열을 복제하므로 모든 것이 약간 덜 효율적입니다.
AASoft 2013

7

Microsoft.VisualBasic네임 스페이스 에서 정적 메서드를 사용할 수 있습니다 .

string monthName = Microsoft.VisualBasic.DateAndTime.MonthName(monthInt, false);

6
DateTime dt = new DateTime(year, month, day);
Response.Write(day + "-" + dt.ToString("MMMM") + "-" + year);

이렇게하면 월이 정수가 아닌 이름으로 표시됩니다.


2

약식 월 값을 얻으려면 다음을 사용할 수 있습니다. Enum.Parse();

Enum.Parse(typeof(Month), "0");

결과적으로 "Jan"이 생성됩니다.

이것은 0부터 시작하는 인덱스라는 것을 기억하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.