129 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			2.8 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{
 | 
						|
			solarDate:   date.solarTime,
 | 
						|
			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{
 | 
						|
			solarDate:   date.solarTime,
 | 
						|
			year:        lyear,
 | 
						|
			month:       lmonth,
 | 
						|
			day:         lday,
 | 
						|
			leap:        isLeap,
 | 
						|
			desc:        ldesc,
 | 
						|
			ganzhiMonth: ganzhiMonth,
 | 
						|
			comment:     "",
 | 
						|
			eras:        innerEras(lyear, nanMingEras02),
 | 
						|
		})
 | 
						|
	}
 | 
						|
	return date
 | 
						|
}
 |