127 lines
2.7 KiB
Go
127 lines
2.7 KiB
Go
package calendar
|
|
|
|
func nanMingCals() map[int]uint32 {
|
|
return map[int]uint32{
|
|
1645: 1232804864,
|
|
1646: 1232088832,
|
|
1647: 1689265152,
|
|
1648: 1783732480,
|
|
1649: 3662686720,
|
|
1650: 1800249344,
|
|
1651: 1456485120,
|
|
1652: 719333632,
|
|
1653: 2465438976,
|
|
1654: 2464165888,
|
|
1655: 3378521344,
|
|
1656: 3567950336,
|
|
1657: 3567266816,
|
|
1658: 3662684416,
|
|
1659: 1520998144,
|
|
1660: 1453337088,
|
|
1661: 2799508992,
|
|
1662: 634401280,
|
|
1663: 2463115008,
|
|
1664: 2841320448,
|
|
1665: 2840604160,
|
|
1666: 3030393600,
|
|
1667: 3042056192,
|
|
1668: 2907712256,
|
|
1669: 1437474816,
|
|
1670: 1269838592,
|
|
1671: 632301824,
|
|
1672: 1388060160,
|
|
1673: 1387278336,
|
|
1674: 1689265408,
|
|
1675: 1957370368,
|
|
1676: 1788882176,
|
|
1677: 2907709696,
|
|
1678: 1302927104,
|
|
1679: 1264593408,
|
|
1680: 2775916288,
|
|
1681: 2766156032,
|
|
1682: 3529516544,
|
|
1683: 3912440576,
|
|
}
|
|
}
|
|
|
|
func nanMingEras01() []Era {
|
|
return []Era{
|
|
{
|
|
Year: 1646,
|
|
Emperor: "南明鲁王",
|
|
OtherNianHaoStart: "鲁王监国",
|
|
Dynasty: "南明",
|
|
},
|
|
{
|
|
Year: 1645,
|
|
Emperor: "南明隆武帝",
|
|
OtherNianHaoStart: "隆武",
|
|
Dynasty: "南明",
|
|
}, {
|
|
Year: 1645,
|
|
Emperor: "南明弘光帝",
|
|
Nianhao: "弘光",
|
|
Dynasty: "南明",
|
|
},
|
|
{
|
|
Year: 1628,
|
|
Emperor: "明思宗",
|
|
Nianhao: "崇祯",
|
|
Dynasty: "明",
|
|
},
|
|
}
|
|
}
|
|
|
|
func nanMingEras02() []Era {
|
|
return []Era{
|
|
{
|
|
Year: 1647,
|
|
Emperor: "南明/明郑",
|
|
OtherNianHaoStart: "永历",
|
|
Dynasty: "南明",
|
|
},
|
|
}
|
|
}
|
|
|
|
func nanMingEraMap() map[string][][]int {
|
|
return map[string][][]int{
|
|
"永历": [][]int{{1647, 1683}},
|
|
"鲁王监国": [][]int{{1646, 1653}},
|
|
"隆武": [][]int{{1645, 1646}},
|
|
"弘光": [][]int{{1645, 1645}},
|
|
}
|
|
}
|
|
|
|
func innerSolarToLunarNanMing(date Time) Time {
|
|
year := date.solarTime.Year()
|
|
month := int(date.solarTime.Month())
|
|
day := date.solarTime.Day()
|
|
if year > 1644 && year < 1654 {
|
|
lyear, lmonth, ganzhiMonth, lday, isLeap, ldesc := rapidLunarHan2Qing(year, month, day, 0, nanMingCals)
|
|
date.lunars = append(date.lunars, LunarTime{
|
|
year: lyear,
|
|
month: lmonth,
|
|
day: lday,
|
|
leap: isLeap,
|
|
desc: ldesc,
|
|
ganzhiMonth: ganzhiMonth,
|
|
comment: "",
|
|
eras: innerEras(lyear, nanMingEras01),
|
|
})
|
|
}
|
|
if year > 1646 && year < 1684 {
|
|
lyear, lmonth, ganzhiMonth, lday, isLeap, ldesc := rapidLunarHan2Qing(year, month, day, 0, nanMingCals)
|
|
date.lunars = append(date.lunars, LunarTime{
|
|
year: lyear,
|
|
month: lmonth,
|
|
day: lday,
|
|
leap: isLeap,
|
|
desc: ldesc,
|
|
ganzhiMonth: ganzhiMonth,
|
|
comment: "",
|
|
eras: innerEras(lyear, nanMingEras02),
|
|
})
|
|
}
|
|
return date
|
|
}
|