.NET 라이브러리에 월에 대한 미리 정의 된 열거가 있습니까? 그리고 .net 프레임 워크에 다른 열거가 있기

.net 프레임 워크에 몇 달 동안 공식 열거가 있는지 확인하고 있습니다.

월 사용이 얼마나 흔한 지, 그리고 .net 프레임 워크에 다른 열거가 있기 때문에 하나가있는 것 같습니다.

예를 들어, 월요일, 화요일 등을 포함하는 요일에 대한 열거 형 System.DayOfWeek가 있습니다.

1 년 중 1 월, 2 월 등 몇 달 동안 하나가 있는지 궁금합니다.

아는 사람 있나요?



답변

그렇지는 않지만 월 이름을 원한다면 다음을 사용할 수 있습니다.

CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName (DateTime.Now.Month);

문자열 표현 (이 경우 이번 달)을 반환합니다. 주 GetMonth1 13에서 인수를 – 1 월 1 일, 13은 빈 문자열입니다.


답변

아니, 없습니다.


답변

.net 프레임 워크에 몇 달 동안 공식 열거가 있는지 확인하고 있습니다.

아니.

앞서 준비한 것이 있습니다. (C # 버전)

public enum Month
{
    NotSet = 0,
    January = 1,
    February = 2,
    March = 3,
    April = 4,
    May = 5,
    June = 6,
    July = 7,
    August = 8,
    September = 9,
    October = 10,
    November = 11,
    December = 12
}


답변

DateTimeFormatInfo.CurrentInfo.MonthNames(열거 형은 아니지만 DateTimeFormatInfo의 CurrentInfo 인스턴스가 일반적으로 찾고 있다고 생각합니다). 드롭 다운 목록이 필요하면 다음과 같이 작성할 수 있습니다.

List<string> monthNames = DateTimeFormatInfo.CurrentInfo.MonthNames.Take(12).ToList();
var monthSelectList = monthNames.Select(
   m => new { Id = monthNames.IndexOf(m) + 1, Name = m });


답변

이 네임 스페이스의 “MonthNamesType”열거 형에서 Microsoft.ServiceModel.Channels.Mail.ExchangeWebService.Exchange2007을 찾았습니다.

위치는 다소 무섭지 만 그럼에도 불구하고 거기에 있습니다.


답변

정확히 무엇을 성취하려고합니까?

원하는 모든 것이 연중 월이 표시된 12 개의 문자열이면 사용자 지정 형식 문자열을 통해 사용할 수 있습니다. 모든 날짜 / 시간 인스턴스에 적용됩니다.

  DateTime dt = DateTime.Parse("12 January 2009";
   dt.ToString("MMM");  // prints "Jan" 
                        // (or the right abbrev is in current culture)
   dt.ToString("MMMM"); // prints "January" 
                        // (or correct sp in current culture)

다른 개체 유형의 열거 속성으로 월을 지정할 수 있도록하려면 DateTime 필드의 Month 속성이 1에서 12까지의 정수를 반환합니다.


답변

네, 확실히 있습니다. Microsoft.VisualBasic 네임 스페이스의 일부입니다.

Microsoft.VisualBasic.MonthName

그리고이 네임 스페이스에 문제가있는 분들은 이것이 진정으로 .NET이고 아무데도 가지 않을 것임을 이해해야합니다. .

레코드를 위해 MonthName함수는 내부적으로 다음을 호출합니다.

Thread.CurrentThread.CurrentCulture.DateTimeFormat.GetMonthName