본문 바로가기

C#

C# 양력 음력 변환

1. 양력 -> 음력 변환

public string ToLunarDate(string _year, string _month, string _day)
{
    KoreanLunisolarCalendar klc = new KoreanLunisolarCalendar();

    int year = Convert.ToInt32(_year);
    int month = Convert.ToInt32(_month);
    int day = Convert.ToInt32(_day);

    if (klc.GetMonthsInYear(year) > 12)
    {
        int leapMonth = klc.GetLeapMonth(year);

        if (month >= leapMonth)
        {
            month--;
        }
    }

    return new DateTime(year, month, day).ToString("yyyy-MM-dd");              
}

2. 음력 -> 양력 변환

public string ToSolarDate(string _year, string _month, string _day, bool isLeapMonth = false)
{
    KoreanLunisolarCalendar klc = new KoreanLunisolarCalendar();

    int year = Convert.ToInt32(_year);
    int month = Convert.ToInt32(_month);
    int day = Convert.ToInt32(_day);

    if (klc.GetMonthsInYear(year) > 12)
    {
        int leapMonth = klc.GetLeapMonth(year);

        if (month > leapMonth - 1)
        {
            month++;
        }
        else if (month == leapMonth - 1 && isLeapMonth)
        {
            month++;
        }
    }

    return klc.ToDateTime(year, month, day, 0, 0, 0, 0).ToString("yyyy-MM-dd");
}

'C#' 카테고리의 다른 글

폴더 생성하기  (0) 2021.10.19
C# 홀수, 짝수 여부 판단하기  (0) 2020.01.16
C# 진수 변환  (0) 2020.01.16
C# DateTime의 일자관련 Method  (0) 2020.01.14
C# Visual Studio 응용프로그램 관리자 권한 실행방법 2가지  (0) 2020.01.09