C #에서 월 이름을 찾는 방법은 무엇입니까? 나는 그 달에 거대한 switch
성명서 나 if
성명서 를 쓰고 싶지 않다 int
. VB.Net에서는를 사용할 수 MonthName()
있지만 C #은 어떻습니까?
답변:
CultureInfo를 사용하여 월 이름을 가져올 수 있습니다. 짧은 달 이름과 다른 재미있는 것들을 얻을 수도 있습니다.
나중에 코드를 적게 작성할 수 있도록 확장 메서드에 넣는 것이 좋습니다. 그러나 원하는대로 구현할 수 있습니다.
다음은 확장 메서드를 사용하여 수행하는 방법의 예입니다.
using System;
using System.Globalization;
class Program
{
static void Main()
{
Console.WriteLine(DateTime.Now.ToMonthName());
Console.WriteLine(DateTime.Now.ToShortMonthName());
Console.Read();
}
}
static class DateTimeExtensions
{
public static string ToMonthName(this DateTime dateTime)
{
return CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(dateTime.Month);
}
public static string ToShortMonthName(this DateTime dateTime)
{
return CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(dateTime.Month);
}
}
도움이 되었기를 바랍니다!
InvariantInfo
또한 사용할 수 있는 속성 이 있다고 덧붙일 수 있습니다. 그리고 제 생각에 다음은이 작업을 수행하기위한보다 간단하고 읽기 쉬운 형식입니다. DateTimeFormatInfo.InvariantInfo.GetAbbreviatedMonthName(...)
또는DateTimeFormatInfo.CurrentInfo.GetAbbreviatedMonthName(...)
string CurrentMonth = String.Format("{0:MMMM}", DateTime.Now)
private string MonthName(int m)
{
string res;
switch (m)
{
case 1:
res="Ene";
break;
case 2:
res = "Feb";
break;
case 3:
res = "Mar";
break;
case 4:
res = "Abr";
break;
case 5:
res = "May";
break;
case 6:
res = "Jun";
break;
case 7:
res = "Jul";
break;
case 8:
res = "Ago";
break;
case 9:
res = "Sep";
break;
case 10:
res = "Oct";
break;
case 11:
res = "Nov";
break;
case 12:
res = "Dic";
break;
default:
res = "Nulo";
break;
}
return res;
}