409 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			409 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package calendar
 | 
						|
 | 
						|
func liaoJinYuanCals() map[int]uint32 {
 | 
						|
	return map[int]uint32{
 | 
						|
		949:  2996838400,
 | 
						|
		955:  1237097216,
 | 
						|
		958:  2858129152,
 | 
						|
		959:  1787832832,
 | 
						|
		961:  766088192,
 | 
						|
		964:  2574266112,
 | 
						|
		965:  1232086016,
 | 
						|
		973:  2464163072,
 | 
						|
		985:  3031177216,
 | 
						|
		986:  1788881664,
 | 
						|
		994:  3645910016,
 | 
						|
		999:  2775716864,
 | 
						|
		1001: 3530398464,
 | 
						|
		1012: 3579124224,
 | 
						|
		1015: 2513671936,
 | 
						|
		1020: 2992512000,
 | 
						|
		1021: 1787833856,
 | 
						|
		1024: 727723008,
 | 
						|
		1025: 2507153408,
 | 
						|
		1029: 1783730688,
 | 
						|
		1039: 3667270400,
 | 
						|
		1040: 3046125056,
 | 
						|
		1044: 2463113472,
 | 
						|
		1045: 3378156800,
 | 
						|
		1049: 2907710464,
 | 
						|
		1053: 2461767424,
 | 
						|
		1056: 1823052800,
 | 
						|
		1059: 2605723136,
 | 
						|
		1064: 3912439040,
 | 
						|
		1070: 1255156992,
 | 
						|
		1073: 2991597824,
 | 
						|
		1075: 3601470208,
 | 
						|
		1077: 2513836800,
 | 
						|
		1078: 2511351296,
 | 
						|
		1080: 2763790592,
 | 
						|
		1094: 728372224,
 | 
						|
		1105: 2733216256,
 | 
						|
		1113: 635048960,
 | 
						|
		1121: 1269470464,
 | 
						|
		1129: 2874414592,
 | 
						|
		1134: 3529513728,
 | 
						|
		1145: 3041761536,
 | 
						|
		1147: 3445629184,
 | 
						|
		1152: 1689265920,
 | 
						|
		1155: 1530929920,
 | 
						|
		1163: 3595576320,
 | 
						|
		1168: 2461018624,
 | 
						|
		1176: 628108288,
 | 
						|
		1178: 2839221504,
 | 
						|
		1184: 1264594176,
 | 
						|
		1198: 3040880384,
 | 
						|
		1207: 2904563200,
 | 
						|
		1209: 727721472,
 | 
						|
		1239: 1370498304,
 | 
						|
		1250: 3576701440,
 | 
						|
		1251: 1520769024,
 | 
						|
		1253: 1523588864,
 | 
						|
		1256: 2732596480,
 | 
						|
		1258: 3511690240,
 | 
						|
		1263: 2513447168,
 | 
						|
		1270: 3047528192,
 | 
						|
		1273: 1169888512,
 | 
						|
		1276: 1784254976,
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func liaoJinYuanEras() []Era {
 | 
						|
	return []Era{
 | 
						|
		{
 | 
						|
			Year:              1264,
 | 
						|
			Emperor:           "元世祖",
 | 
						|
			OtherNianHaoStart: "至元",
 | 
						|
			Dynasty:           "元",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1260,
 | 
						|
			Emperor: "元世祖",
 | 
						|
			Nianhao: "中统",
 | 
						|
			Dynasty: "元",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1251,
 | 
						|
			Emperor: "元宪宗",
 | 
						|
			Nianhao: "元宪宗",
 | 
						|
			Dynasty: "元",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1249,
 | 
						|
			Emperor: "元定宗后",
 | 
						|
			Nianhao: "元定宗后",
 | 
						|
			Dynasty: "元",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1246,
 | 
						|
			Emperor: "元定宗",
 | 
						|
			Nianhao: "元定宗",
 | 
						|
			Dynasty: "元",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1242,
 | 
						|
			Emperor: "元太宗",
 | 
						|
			Nianhao: "元太宗后",
 | 
						|
			Dynasty: "元",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1234,
 | 
						|
			Emperor:           "元太宗",
 | 
						|
			OtherNianHaoStart: "元太宗",
 | 
						|
			Dynasty:           "元",
 | 
						|
			Offset:            5,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1232,
 | 
						|
			Emperor: "金哀宗",
 | 
						|
			Nianhao: "天兴",
 | 
						|
			Dynasty: "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1224,
 | 
						|
			Emperor: "金哀宗",
 | 
						|
			Nianhao: "正大",
 | 
						|
			Dynasty: "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1222,
 | 
						|
			Emperor:           "金宣宗",
 | 
						|
			OtherNianHaoStart: "元光",
 | 
						|
			Dynasty:           "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1217,
 | 
						|
			Emperor:           "金宣宗",
 | 
						|
			OtherNianHaoStart: "兴定",
 | 
						|
			Dynasty:           "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1213,
 | 
						|
			Emperor:           "金宣宗",
 | 
						|
			OtherNianHaoStart: "贞佑",
 | 
						|
			Dynasty:           "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1213,
 | 
						|
			Emperor:           "金宣宗",
 | 
						|
			OtherNianHaoStart: "至宁",
 | 
						|
			Dynasty:           "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1212,
 | 
						|
			Emperor:           "金卫绍王",
 | 
						|
			OtherNianHaoStart: "崇庆",
 | 
						|
			Dynasty:           "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1209,
 | 
						|
			Emperor: "金卫绍王",
 | 
						|
			Nianhao: "大安",
 | 
						|
			Dynasty: "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1201,
 | 
						|
			Emperor: "金章宗",
 | 
						|
			Nianhao: "泰和",
 | 
						|
			Dynasty: "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1196,
 | 
						|
			Emperor:           "金章宗",
 | 
						|
			OtherNianHaoStart: "承安",
 | 
						|
			Dynasty:           "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1190,
 | 
						|
			Emperor: "金章宗",
 | 
						|
			Nianhao: "明昌",
 | 
						|
			Dynasty: "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1161,
 | 
						|
			Emperor:           "金世宗",
 | 
						|
			OtherNianHaoStart: "大定",
 | 
						|
			Dynasty:           "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1156,
 | 
						|
			Emperor:           "金海陵王",
 | 
						|
			OtherNianHaoStart: "正隆",
 | 
						|
			Dynasty:           "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1153,
 | 
						|
			Emperor:           "金海陵王",
 | 
						|
			OtherNianHaoStart: "贞元",
 | 
						|
			Dynasty:           "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1149,
 | 
						|
			Emperor:           "金海陵王",
 | 
						|
			OtherNianHaoStart: "天德",
 | 
						|
			Dynasty:           "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1141,
 | 
						|
			Emperor: "金熙宗",
 | 
						|
			Nianhao: "皇统",
 | 
						|
			Dynasty: "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1138,
 | 
						|
			Emperor: "金熙宗",
 | 
						|
			Nianhao: "天眷",
 | 
						|
			Dynasty: "金",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1125,
 | 
						|
			Emperor:           "金太宗",
 | 
						|
			OtherNianHaoStart: "天会",
 | 
						|
			Dynasty:           "金",
 | 
						|
			Offset:            2,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1121,
 | 
						|
			Emperor: "辽天祚帝",
 | 
						|
			Nianhao: "保大",
 | 
						|
			Dynasty: "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1111,
 | 
						|
			Emperor: "辽天祚帝",
 | 
						|
			Nianhao: "天庆",
 | 
						|
			Dynasty: "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1101,
 | 
						|
			Emperor:           "辽天祚帝",
 | 
						|
			OtherNianHaoStart: "乾统",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1095,
 | 
						|
			Emperor: "辽道宗",
 | 
						|
			Nianhao: "寿昌",
 | 
						|
			Dynasty: "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1085,
 | 
						|
			Emperor: "辽道宗",
 | 
						|
			Nianhao: "大安",
 | 
						|
			Dynasty: "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1075,
 | 
						|
			Emperor: "辽道宗",
 | 
						|
			Nianhao: "大康",
 | 
						|
			Dynasty: "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    1065,
 | 
						|
			Emperor: "辽道宗",
 | 
						|
			Nianhao: "咸雍",
 | 
						|
			Dynasty: "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1055,
 | 
						|
			Emperor:           "辽道宗",
 | 
						|
			OtherNianHaoStart: "清宁",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1032,
 | 
						|
			Emperor:           "辽兴宗",
 | 
						|
			OtherNianHaoStart: "重熙",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1031,
 | 
						|
			Emperor:           "辽兴宗",
 | 
						|
			OtherNianHaoStart: "景福",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1021,
 | 
						|
			Emperor:           "辽圣宗",
 | 
						|
			OtherNianHaoStart: "太平",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              1012,
 | 
						|
			Emperor:           "辽圣宗",
 | 
						|
			OtherNianHaoStart: "开泰",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              983,
 | 
						|
			Emperor:           "辽圣宗",
 | 
						|
			OtherNianHaoStart: "统和",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              979,
 | 
						|
			Emperor:           "辽景宗",
 | 
						|
			OtherNianHaoStart: "乾亨",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              969,
 | 
						|
			Emperor:           "辽景宗",
 | 
						|
			OtherNianHaoStart: "保宁",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              951,
 | 
						|
			Emperor:           "辽穆宗",
 | 
						|
			OtherNianHaoStart: "应历",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              947,
 | 
						|
			Emperor:           "辽世宗",
 | 
						|
			OtherNianHaoStart: "天禄",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:    947,
 | 
						|
			Emperor: "辽太宗",
 | 
						|
			Nianhao: "大同",
 | 
						|
			Dynasty: "辽",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			Year:              939,
 | 
						|
			Emperor:           "辽太宗",
 | 
						|
			OtherNianHaoStart: "会同",
 | 
						|
			Dynasty:           "辽",
 | 
						|
		},
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func liaoJinYuanEraMap() map[string][][]int {
 | 
						|
	return map[string][][]int{
 | 
						|
		"中统":   [][]int{{1260, 1264}},
 | 
						|
		"元宪宗":  [][]int{{1251, 1259}},
 | 
						|
		"元定宗后": [][]int{{1249, 1250}},
 | 
						|
		"元定宗":  [][]int{{1246, 1248}},
 | 
						|
		"元太宗后": [][]int{{1242, 1245}},
 | 
						|
		"元太宗":  [][]int{{1229, 1241}},
 | 
						|
		"天兴":   [][]int{{1232, 1229}},
 | 
						|
		"正大":   [][]int{{1224, 1231}},
 | 
						|
		"元光":   [][]int{{1222, 1223}},
 | 
						|
		"兴定":   [][]int{{1217, 1222}},
 | 
						|
		"贞佑":   [][]int{{1213, 1217}},
 | 
						|
		"至宁":   [][]int{{1213, 1213}},
 | 
						|
		"崇庆":   [][]int{{1212, 1213}},
 | 
						|
		"泰和":   [][]int{{1201, 1208}},
 | 
						|
		"承安":   [][]int{{1196, 1200}},
 | 
						|
		"明昌":   [][]int{{1190, 1196}},
 | 
						|
		"大定":   [][]int{{1161, 1189}},
 | 
						|
		"正隆":   [][]int{{1156, 1161}},
 | 
						|
		"贞元":   [][]int{{1153, 1156}},
 | 
						|
		"天德":   [][]int{{1149, 1153}},
 | 
						|
		"皇统":   [][]int{{1141, 1149}},
 | 
						|
		"天眷":   [][]int{{1138, 1140}},
 | 
						|
		"天会":   [][]int{{1123, 1137}},
 | 
						|
		"保大":   [][]int{{1121, 1125}},
 | 
						|
		"天庆":   [][]int{{1111, 1120}},
 | 
						|
		"乾统":   [][]int{{1101, 1110}},
 | 
						|
		"寿昌":   [][]int{{1095, 1101}},
 | 
						|
		"大安":   [][]int{{1085, 1094}, {1209, 1212}},
 | 
						|
		"大康":   [][]int{{1075, 1084}},
 | 
						|
		"咸雍":   [][]int{{1065, 1074}},
 | 
						|
		"清宁":   [][]int{{1055, 1064}},
 | 
						|
		"重熙":   [][]int{{1032, 1055}},
 | 
						|
		"景福":   [][]int{{1031, 1032}},
 | 
						|
		"太平":   [][]int{{1021, 1031}},
 | 
						|
		"开泰":   [][]int{{1012, 1021}},
 | 
						|
		"统和":   [][]int{{983, 1012}},
 | 
						|
		"乾亨":   [][]int{{979, 983}},
 | 
						|
		"保宁":   [][]int{{969, 979}},
 | 
						|
		"应历":   [][]int{{951, 969}},
 | 
						|
		"天禄":   [][]int{{947, 951}},
 | 
						|
		"大同":   [][]int{{947, 947}},
 | 
						|
		"会同":   [][]int{{939, 946}},
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func innerSolarToLunarLiaoJinYuan(date Time) Time {
 | 
						|
	year := date.solarTime.Year()
 | 
						|
	month := int(date.solarTime.Month())
 | 
						|
	day := date.solarTime.Day()
 | 
						|
	if year >= 947 && year <= 1279 {
 | 
						|
		lyear, lmonth, ganzhiMonth, lday, isLeap, ldesc := rapidLunarHan2Qing(year, month, day, 0, liaoJinYuanCals)
 | 
						|
		date.lunars = append(date.lunars, LunarTime{
 | 
						|
			solarDate:   date.Solar(),
 | 
						|
			year:        lyear,
 | 
						|
			month:       lmonth,
 | 
						|
			day:         lday,
 | 
						|
			leap:        isLeap,
 | 
						|
			desc:        ldesc,
 | 
						|
			comment:     "",
 | 
						|
			ganzhiMonth: ganzhiMonth,
 | 
						|
			eras:        innerEras(lyear, liaoJinYuanEras),
 | 
						|
		})
 | 
						|
	}
 | 
						|
	return date
 | 
						|
}
 |