C\#실 현 된 음력 양력 상호 전환 클래스 인 스 턴 스

5759 단어 C#음력양력
본 고 는 C\#실 현 된 음력 양력 상호 전환 류 를 실례 로 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
최근 인터넷 에 현존 하 는 상당 부분의 달력 에서 간지 기년 알고리즘 이 모두 잘못된 것 을 우울 하 게 발견 하 였 다.간지 기년 은 음력 에 대한 것 이 고 띠 띠 띠 는 지지 와 대응 하기 때문에 설날 과 설날 사이 에 간지 기년 법 에서 1 년 을 돌려 야 한다.양력 2007 년 2 월 9 일 을 예 로 들 면 그날 의 음력 날 짜 는 26 년 12 월 22 일이 고 병 술 년,즉 개 년 이다.그러나 현재 의 달력 을 살 펴 보면상당 수가 정 해 년,돼지 해 로 나타 나 답답 해~
그리고 음력 양력 이 서로 바 뀌 는 종 류 를 썼 다.

관련 코드 는 다음 과 같 습 니 다.

/// <summary>
///          
/// </summary>
public sealed class ChineseCalendarInfo
{
    private DateTime m_SolarDate;
    private int m_LunarYear, m_LunarMonth, m_LunarDay;
    private bool m_IsLeapMonth = false;
    private string m_LunarYearSexagenary = null, m_LunarYearAnimal = null;
    private string m_LunarYearText = null, m_LunarMonthText = null, m_LunarDayText = null;
    private string m_SolarWeekText = null, m_SolarConstellation = null, m_SolarBirthStone = null;
        
    /// <summary>
    ///             &   
    /// </summary>
    /// <param name="date">      </param>
    /// <param name="constellation">  </param>
    /// <param name="birthstone">   </param>
    public static void CalcConstellation(DateTime date, out string constellation, out string birthstone)
    {
      int i = Convert.ToInt32(date.ToString("MMdd"));
      int j;
      if (i >= 321 && i <= 419)
        j = 0;
      else if (i >= 420 && i <= 520)
        j = 1;
      else if (i >= 521 && i <= 621)
        j = 2;
      else if (i >= 622 && i <= 722)
        j = 3;
      else if (i >= 723 && i <= 822)
        j = 4;
      else if (i >= 823 && i <= 922)
        j = 5;
      else if (i >= 923 && i <= 1023)
        j = 6;
      else if (i >= 1024 && i <= 1121)
        j = 7;
      else if (i >= 1122 && i <= 1221)
        j = 8;
      else if (i >= 1222 || i <= 119)
        j = 9;
      else if (i >= 120 && i <= 218)
        j = 10;
      else if (i >= 219 && i <= 320)
        j = 11;
      else
      {
        constellation = "    ";
        birthstone = "     ";
        return;
      }
      constellation = Constellations[j];
      birthstone = BirthStones[j];
          
    }
         
           
    private static ChineseLunisolarCalendar calendar = new ChineseLunisolarCalendar();
    public const string ChineseNumber = "         ";
    public const string CelestialStem = "          ";
    public const string TerrestrialBranch = "            ";
    public const string Animals = "            ";
    public static readonly string[] ChineseWeekName = new string[] { "   ", "   ", "   ", "   ", "   ", "   ", "   " };
    public static readonly string[] ChineseDayName = new string[] {
      "  ","  ","  ","  ","  ","  ","  ","  ","  ","  ",
      "  ","  ","  ","  ","  ","  ","  ","  ","  ","  ",
      "  ","  ","  ","  ","  ","  ","  ","  ","  ","  "};
    public static readonly string[] ChineseMonthName = new string[] { " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", "  ", "  " };
    public static readonly string[] Constellations = new string[] { "   ", "   ", "   ", "   ", "   ", "   ", "   ", "   ", "   ", "   ", "   ", "   " };
    public static readonly string[] BirthStones = new string[] { "  ", "   ", "  ", "  ", "   ", "     ", "   ", "   ", "   ", "    ", "   ", "   ,  " };
}

첨부:전체 인 스 턴 스 코드 는 여 기 를 클릭 하 십시오본 사이트 다운로드
PS:여기 서 달력 관련 온라인 도 구 를 몇 가지 더 추천 합 니 다.참고 하 시기 바 랍 니 다.
웹 페이지 달력:
http://tools.jb51.net/bianmin/webwannianli
온라인 음력/양력 변환 도구:
http://tools.jb51.net/bianmin/yinli2yangli
온라인 달력:
http://tools.jb51.net/bianmin/wannianli
온라인 달력 황 력 플래시 버 전:
http://tools.jb51.net/bianmin/flashwnl
또한 본 사이트 역사상 오늘 도 비슷 한 음력 날짜 표시 기능 이 있 습 니 다.
http://tools.jb51.net/bianmin/lishi
더 많은 C\#관련 내용 에 관심 이 있 는 독 자 는 본 사이트 의 주 제 를 볼 수 있다.,,,,,,,,,,,
본 고 에서 말 한 것 이 여러분 의 C\#프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기