package calendar // 后秦 func houQinCals() map[int]uint32 { return map[int]uint32{ 384: 2862622464, 385: 3042089728, 386: 2874158592, 387: 1431315456, 388: 2863175936, 389: 1788881664, 390: 2874482688, 391: 2863674112, 392: 1431316736, 393: 1789631744, 394: 1453338624, 395: 2863670528, 396: 1431411456, 397: 3578801152, 398: 1454219776, 399: 1432368384, 400: 2862623232, 401: 3579059712, 402: 2907713792, 403: 1432364800, 404: 2863307776, 405: 2862624256, 406: 2907710208, 407: 1432951040, 408: 1431317504, 409: 2863472640, 410: 1520448256, 411: 2865768448, 412: 1432034816, 413: 1431318528, 414: 1520444672, 415: 2865863168, 416: 2863672576, 417: 1431708160, } } func houQinEras() []Era { return []Era{ { Year: 416, Emperor: "后秦末主", OtherNianHaoStart: "永和", Dynasty: "后秦", }, { Year: 399, Emperor: "后秦文桓帝", OtherNianHaoStart: "弘始", Dynasty: "后秦", }, { Year: 394, Emperor: "后秦文桓帝", OtherNianHaoStart: "皇初", Dynasty: "后秦", }, { Year: 386, Emperor: "后秦武昭帝", OtherNianHaoStart: "建初", Dynasty: "后秦", }, { Year: 384, Emperor: "后秦武昭帝", Nianhao: "白雀", Dynasty: "后秦", }, } } func houQinEraMap() map[string][][]int { return map[string][][]int{ "永和": [][]int{{416, 417}}, "弘始": [][]int{{399, 416}}, "皇初": [][]int{{394, 399}}, "建初": [][]int{{386, 394}}, "白雀": [][]int{{384, 386}}, } } // 北魏、西魏、北周、隋 func weiZhouSuiCals() map[int]uint32 { return map[int]uint32{ 398: 1454219776, 399: 1436562688, 400: 2862623232, 401: 3579059712, 402: 2907713792, 403: 1436559104, 404: 2863307776, 405: 2862624256, 406: 2907710208, 407: 1437145344, 408: 1431317504, 409: 2863472640, 410: 1520448256, 411: 2874157056, 412: 1432034816, 413: 1431318528, 414: 1520444672, 415: 2874251776, 416: 2863672576, 417: 1431708160, 418: 3041932288, 419: 1453337088, 420: 2863931136, 421: 2862625024, 422: 3041928704, 423: 1453988864, 424: 1432366848, 425: 2862621440, 426: 3041957888, 427: 2907712256, 428: 1433215232, 429: 1431319296, 430: 2862622720, 431: 2907905280, 432: 2865770496, 433: 1431315712, 434: 1789499904, 435: 1520446720, 436: 2866160128, 437: 2862625792, 438: 3578800384, 439: 1521262336, 440: 1436561920, 441: 2862622208, 442: 3578960640, 443: 3041930752, 444: 1436558336, 445: 2863175680, 446: 2862623488, 447: 3042254848, 448: 2874159872, 449: 1431316480, 450: 2863373568, 451: 1788882944, 452: 2874156288, 453: 1432033792, 454: 1431317760, 455: 1520443904, 456: 2874218240, 457: 2863671552, 458: 1431641856, 459: 3041931520, 460: 1453336320, 461: 2863897344, 462: 2862624256, 463: 3041927936, 464: 1453988096, 465: 1432365824, 466: 2862620672, 467: 3041957120, 468: 2907711488, 469: 1433181440, 470: 1431318528, 471: 1788880128, 472: 2907904512, 473: 2865769472, 474: 1431314944, 475: 1789499136, 476: 1520445952, 477: 2866126336, 478: 2862625024, 479: 3578799616, 480: 1521196032, 481: 1436560896, 482: 2862621440, 483: 3578927104, 484: 3041929984, 485: 1436557312, 486: 2863174912, 487: 2862622720, 488: 3042221312, 489: 2874158848, 490: 1431315712, 491: 2863307264, 492: 1788882176, 493: 2874155264, 494: 1431901952, 495: 1431316992, 496: 1789763328, 497: 1453338880, 498: 2863670784, 499: 1431575552, 500: 3578801664, 501: 1453335296, 502: 2863798272, 503: 2862623488, 504: 3579191296, 505: 2907714048, 506: 1432365056, 507: 2863439104, 508: 2862624768, 509: 2907710464, 510: 1433082368, 511: 1431317760, 512: 2862621184, 513: 2907772416, 514: 2865768704, 515: 1431641856, 516: 3578802432, 517: 1520444928, 518: 2865994496, 519: 2862624256, 520: 3578798848, 521: 1521129472, 522: 1436560128, 523: 2863669248, 524: 1431377408, 525: 3041928960, 526: 1437441280, 527: 1432367104, 528: 2862621952, 529: 3042154752, 530: 2874158080, 531: 1432363520, 532: 2863240960, 533: 1788881152, 534: 2874547712, 535: 2865770752, 536: 1431316224, 537: 1789696768, 538: 1453338112, 539: 2865767168, 540: 1431476480, 541: 3578800640, 542: 1453334528, 543: 2865796352, 544: 2862622720, 545: 3579124736, 546: 2907713280, 547: 1436558592, 548: 2863372800, 549: 2862623744, 550: 2907709696, 551: 1437210368, 552: 1431316992, 553: 2863537664, 554: 1520447744, 555: 2874156544, 556: 1432099840, 557: 1431318016, 558: 1520444160, 559: 2874316800, 560: 2863672064, 561: 1431314432, 562: 1520997632, 563: 1453336576, 564: 2863963392, 565: 2863673088, 566: 1431315712, 567: 2863405568, 568: 1788882176, 569: 2874155264, 570: 1431967488, 571: 1431316992, 572: 1788878592, 573: 2874184448, 574: 2865767936, 575: 1431641088, 576: 3578801664, 577: 1453335296, 578: 2865960960, 579: 2865769216, 580: 1431314688, 581: 2863240448, 582: 1520445440, 583: 2866158848, 584: 1788882944, 585: 2907710464, 586: 1433147904, 587: 1431317760, 588: 1788879360, 589: 2907837952, } } func weiZhouSuiEras() []Era { return []Era{ { Year: 601, Emperor: "隋文帝", Nianhao: "仁寿", Dynasty: "隋", }, { Year: 581, Emperor: "隋文帝", Nianhao: "开皇", Dynasty: "隋", }, { Year: 579, Emperor: "北周静帝", Nianhao: "大象", Dynasty: "北周", }, { Year: 578, Emperor: "北周宣帝", OtherNianHaoStart: "宣政", Dynasty: "北周", }, { Year: 572, Emperor: "北周武帝", OtherNianHaoStart: "建德", Dynasty: "北周", }, { Year: 566, Emperor: "北周武帝", Nianhao: "天和", Dynasty: "北周", }, { Year: 561, Emperor: "北周武帝", Nianhao: "保定", Dynasty: "北周", }, { Year: 559, Emperor: "北周明帝", Nianhao: "武成", Dynasty: "北周", }, { Year: 557, Emperor: "北周明帝", Nianhao: "北周明帝", Dynasty: "北周", }, { Year: 554, Emperor: "西魏恭帝", Nianhao: "西魏恭帝", Dynasty: "西魏", }, { Year: 552, Emperor: "西魏元钦", Nianhao: "西魏元钦", Dynasty: "西魏", }, { Year: 535, Emperor: "西魏文帝", Nianhao: "大统", Dynasty: "西魏", }, { Year: 532, Emperor: "北魏孝武帝", Nianhao: "永熙", Dynasty: "北魏", }, { Year: 531, Emperor: "北魏节闵帝", OtherNianHaoStart: "中兴", Dynasty: "北魏", }, { Year: 530, Emperor: "北魏节闵帝", OtherNianHaoStart: "建明", Dynasty: "北魏", }, { Year: 528, Emperor: "北魏孝庄帝", OtherNianHaoStart: "武泰", Dynasty: "北魏", }, { Year: 528, Emperor: "北魏孝庄帝", OtherNianHaoStart: "建义", Dynasty: "北魏", }, { Year: 528, Emperor: "北魏孝庄帝", Nianhao: "永安", Dynasty: "北魏", }, { Year: 525, Emperor: "北魏孝明帝", OtherNianHaoStart: "孝昌", Dynasty: "北魏", }, { Year: 520, Emperor: "北魏孝明帝", OtherNianHaoStart: "正光", Dynasty: "北魏", }, { Year: 518, Emperor: "北魏孝明帝", OtherNianHaoStart: "神龟", Dynasty: "北魏", }, { Year: 516, Emperor: "北魏孝明帝", Nianhao: "熙平", Dynasty: "北魏", }, { Year: 512, Emperor: "北魏宣武帝", OtherNianHaoStart: "延昌", Dynasty: "北魏", }, { Year: 508, Emperor: "北魏宣武帝", OtherNianHaoStart: "永平", Dynasty: "北魏", }, { Year: 504, Emperor: "北魏宣武帝", Nianhao: "正始", Dynasty: "北魏", }, { Year: 500, Emperor: "北魏宣武帝", Nianhao: "景明", Dynasty: "北魏", }, { Year: 477, Emperor: "北魏孝文帝", Nianhao: "太和", Dynasty: "北魏", }, { Year: 476, Emperor: "北魏孝文帝", OtherNianHaoStart: "承明", Dynasty: "北魏", }, { Year: 471, Emperor: "北魏孝文帝", OtherNianHaoStart: "延兴", Dynasty: "北魏", }, { Year: 467, Emperor: "北魏献文帝", OtherNianHaoStart: "皇兴", Dynasty: "北魏", }, { Year: 466, Emperor: "北魏献文帝", OtherNianHaoStart: "天安", Dynasty: "北魏", }, { Year: 460, Emperor: "北魏文成帝", Nianhao: "和平", Dynasty: "北魏", }, { Year: 455, Emperor: "北魏文成帝", OtherNianHaoStart: "太安", Dynasty: "北魏", }, { Year: 454, Emperor: "北魏文成帝", OtherNianHaoStart: "兴光", Dynasty: "北魏", }, { Year: 452, Emperor: "北魏文成帝", OtherNianHaoStart: "兴安", Dynasty: "北魏", }, { Year: 451, Emperor: "北魏太武帝", OtherNianHaoStart: "正平", Dynasty: "北魏", }, { Year: 440, Emperor: "北魏太武帝", OtherNianHaoStart: "太平真君", Dynasty: "北魏", }, { Year: 435, Emperor: "北魏太武帝", Nianhao: "太延", Dynasty: "北魏", }, { Year: 432, Emperor: "北魏太武帝", Nianhao: "延和", Dynasty: "北魏", }, { Year: 428, Emperor: "北魏太武帝", OtherNianHaoStart: "神䴥", Dynasty: "北魏", }, { Year: 424, Emperor: "北魏太武帝", Nianhao: "始光", Dynasty: "北魏", }, { Year: 416, Emperor: "北魏明元帝", OtherNianHaoStart: "泰常", Dynasty: "北魏", }, { Year: 414, Emperor: "北魏明元帝", Nianhao: "神瑞", Dynasty: "北魏", }, { Year: 409, Emperor: "北魏明元帝", OtherNianHaoStart: "永兴", Dynasty: "北魏", }, { Year: 404, Emperor: "北魏道武帝", OtherNianHaoStart: "天赐", Dynasty: "北魏", }, { Year: 398, Emperor: "北魏道武帝", Nianhao: "天兴", Dynasty: "北魏", }, { Year: 396, Emperor: "北魏道武帝", OtherNianHaoStart: "皇始", Dynasty: "北魏", }, { Year: 386, Emperor: "北魏道武帝", Nianhao: "登国", Dynasty: "北魏", }, } } func weiZhouSuiEraMap() map[string][][]int { return map[string][][]int{ //"开皇": [][]int{{581, 600}}, "大象": [][]int{{579, 580}}, "宣政": [][]int{{578, 578}}, "建德": [][]int{{572, 578}}, "天和": [][]int{{566, 572}}, "保定": [][]int{{561, 565}}, "武成": [][]int{{559, 560}}, "北周明帝": [][]int{{557, 558}}, "西魏恭帝": [][]int{{554, 556}}, "西魏元钦": [][]int{{552, 553}}, "大统": [][]int{{535, 551}}, "永熙": [][]int{{532, 534}}, "中兴": [][]int{{531, 531}}, "建明": [][]int{{530, 531}}, "永安": [][]int{{528, 530}}, "建义": [][]int{{528, 528}}, "武泰": [][]int{{528, 528}}, "孝昌": [][]int{{525, 527}}, "正光": [][]int{{520, 525}}, "神龟": [][]int{{518, 520}}, "熙平": [][]int{{516, 518}}, "延昌": [][]int{{512, 515}}, "永平": [][]int{{508, 512}}, "正始": [][]int{{504, 508}}, "景明": [][]int{{500, 503}}, "太和": [][]int{{477, 499}}, "承明": [][]int{{476, 476}}, "延兴": [][]int{{471, 476}}, "皇兴": [][]int{{467, 471}}, "天安": [][]int{{466, 467}}, "和平": [][]int{{460, 466}}, "太安": [][]int{{455, 459}}, "兴光": [][]int{{454, 455}}, "兴安": [][]int{{452, 454}}, "正平": [][]int{{451, 452}}, "太平真君": [][]int{{440, 451}}, "太延": [][]int{{435, 440}}, "延和": [][]int{{432, 434}}, "神䴥": [][]int{{428, 431}}, "始光": [][]int{{424, 428}}, "泰常": [][]int{{416, 423}}, "神瑞": [][]int{{414, 416}}, "永兴": [][]int{{409, 413}}, "天赐": [][]int{{404, 409}}, "天兴": [][]int{{398, 404}}, "皇始": [][]int{{396, 397}}, "登国": [][]int{{386, 396}}, } } func beiLiangCals() map[int]uint32 { return map[int]uint32{ // currect here 412: 1432100352, 413: 1431318528, 414: 1520444672, 415: 2865928704, 416: 2863672576, 417: 1431314944, 418: 1521030912, 419: 1436559872, 420: 2864029440, 421: 2862625024, 422: 3041928704, 423: 1437309952, 424: 1432366848, 425: 2862621440, 426: 3042056192, 427: 2874157824, 428: 1432363264, 429: 2863174912, 430: 2862622720, 431: 2874449152, 432: 2865770496, 433: 1431315712, 434: 1789565440, 435: 1453337856, 436: 2865766912, 437: 1431377664, 438: 3578800384, 439: 1454219008, } } func beiLiangEras() []Era { return []Era{ { Year: 433, Emperor: "北凉哀王", OtherNianHaoStart: "承和", Dynasty: "北凉", }, { Year: 431, Emperor: "北凉哀王", OtherNianHaoStart: "义和", Dynasty: "北凉", }, { Year: 428, Emperor: "北凉哀王", OtherNianHaoStart: "承玄", Dynasty: "北凉", }, { Year: 412, Emperor: "北凉武宣王", OtherNianHaoStart: "玄始", Dynasty: "北凉", }, { Year: 401, Emperor: "北凉武宣王", OtherNianHaoStart: "永安", Dynasty: "北凉", }, { Year: 399, Emperor: "北凉武宣王", OtherNianHaoStart: "天玺", Dynasty: "北凉", }, { Year: 397, Emperor: "北凉武宣王", Nianhao: "神玺", Dynasty: "北凉", }, } } func beiLiangEraMap() map[string][][]int { return map[string][][]int{ "承和": [][]int{{433, 439}}, "义和": [][]int{{431, 433}}, "承玄": [][]int{{428, 431}}, "玄始": [][]int{{412, 428}}, "永安": [][]int{{401, 412}}, "天玺": [][]int{{399, 401}}, "神玺": [][]int{{397, 399}}, } } func dongWeiBeiQiCals() map[int]uint32 { return map[int]uint32{ 534: 2874547712, 535: 2865770752, 536: 1431316224, 537: 1789696768, 538: 1453338112, 539: 2865767168, 540: 1431476480, 541: 3578800640, 542: 1453334528, 543: 2865796352, 544: 2862622720, 545: 3579124736, 546: 2907713280, 547: 1436558592, 548: 2863372800, 549: 2862623744, 550: 2907709696, 551: 1432950528, 552: 1431316992, 553: 2863504896, 554: 1520447744, 555: 2865767936, 556: 1432099840, 557: 1431318016, 558: 1520444160, 559: 2865895424, 560: 2863672064, 561: 1431707648, 562: 3041931776, 563: 1436559360, 564: 2863963392, 565: 2862624512, 566: 3041928192, 567: 1437276672, 568: 1432366336, 569: 2862620928, 570: 3041990144, 571: 2874157312, 572: 1433247488, 573: 1431318784, 574: 1788880384, 575: 2874415872, 576: 2865769984, 577: 1431315200, } } func dongWeiBeiQiEras() []Era { return []Era{ { Year: 577, Emperor: "北齐后主", Nianhao: "承光", Dynasty: "北齐", }, { Year: 570, Emperor: "北齐后主", Nianhao: "武平", Dynasty: "北齐", }, { Year: 565, Emperor: "北齐后主", OtherNianHaoStart: "天统", Dynasty: "北齐", }, { Year: 562, Emperor: "北齐武成帝", OtherNianHaoStart: "河清", Dynasty: "北齐", }, { Year: 561, Emperor: "北齐武成帝", OtherNianHaoStart: "太宁", Dynasty: "北齐", }, { Year: 560, Emperor: "北齐孝昭帝", OtherNianHaoStart: "皇建", Dynasty: "北齐", }, { Year: 550, Emperor: "北齐文宣帝", Nianhao: "天保", Dynasty: "北齐", }, { Year: 543, Emperor: "东魏孝静帝", Nianhao: "武定", Dynasty: "东魏", }, { Year: 539, Emperor: "东魏孝静帝", OtherNianHaoStart: "兴和", Dynasty: "东魏", }, { Year: 538, Emperor: "东魏孝静帝", OtherNianHaoStart: "元象", Dynasty: "东魏", }, { Year: 534, Emperor: "东魏孝静帝", Nianhao: "天平", Dynasty: "东魏", }, } } func dongWeiBeiQiEraMap() map[string][][]int { return map[string][][]int{ "承光": [][]int{{577, 577}}, "武平": [][]int{{570, 576}}, "天统": [][]int{{565, 569}}, "河清": [][]int{{562, 565}}, "太宁": [][]int{{561, 562}}, "皇建": [][]int{{560, 561}}, "天保": [][]int{{550, 560}}, "武定": [][]int{{543, 549}}, "兴和": [][]int{{539, 542}}, "元象": [][]int{{538, 539}}, "天平": [][]int{{534, 538}}, } } func innerSolarToLunarNanBeiChao(date Time) Time { year := date.solarTime.Year() month := int(date.solarTime.Month()) day := date.solarTime.Day() if year >= 384 && year <= 417 { lyear, lmonth, ganzhiMonth, lday, isLeap, ldesc := rapidLunarHan2Qing(year, month, day, 0, houQinCals) date.lunars = append(date.lunars, LunarTime{ year: lyear, month: lmonth, day: lday, leap: isLeap, desc: ldesc, comment: "", ganzhiMonth: ganzhiMonth, eras: innerEras(lyear, houQinEras), }) } if year >= 398 && year <= 589 { lyear, lmonth, ganzhiMonth, lday, isLeap, ldesc := rapidLunarHan2Qing(year, month, day, 0, weiZhouSuiCals) date.lunars = append(date.lunars, LunarTime{ year: lyear, month: lmonth, day: lday, leap: isLeap, desc: ldesc, comment: "", ganzhiMonth: ganzhiMonth, eras: innerEras(lyear, weiZhouSuiEras), }) } if year >= 397 && year <= 439 { lyear, lmonth, ganzhiMonth, lday, isLeap, ldesc := rapidLunarHan2Qing(year, month, day, 0, beiLiangCals) date.lunars = append(date.lunars, LunarTime{ year: lyear, month: lmonth, day: lday, leap: isLeap, ganzhiMonth: ganzhiMonth, desc: ldesc, comment: "", eras: innerEras(lyear, beiLiangEras), }) } if year >= 534 && year <= 577 { lyear, lmonth, ganzhiMonth, lday, isLeap, ldesc := rapidLunarHan2Qing(year, month, day, 0, dongWeiBeiQiCals) date.lunars = append(date.lunars, LunarTime{ year: lyear, month: lmonth, day: lday, leap: isLeap, desc: ldesc, ganzhiMonth: ganzhiMonth, comment: "", eras: innerEras(lyear, dongWeiBeiQiEras), }) } return date }