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\#프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.