@sanguogege/calendar 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ (function(l,F){typeof exports=="object"&&typeof module<"u"?module.exports=F():typeof define=="function"&&define.amd?define(F):(l=typeof globalThis<"u"?globalThis:l||self,l.calendar=F())})(this,function(){"use strict";const l=[19416,19168,42352,21717,53856,55632,91476,22176,39632,21970,19168,42422,42192,53840,119381,46400,54944,44450,38320,84343,18800,42160,46261,27216,27968,109396,11104,38256,21234,18800,25958,54432,59984,28309,23248,11104,100067,37600,116951,51536,54432,120998,46416,22176,107956,9680,37584,53938,43344,46423,27808,46416,86869,19872,42416,83315,21168,43432,59728,27296,44710,43856,19296,43748,42352,21088,62051,55632,23383,22176,38608,19925,19152,42192,54484,53840,54616,46400,46752,103846,38320,18864,43380,42160,45690,27216,27968,44870,43872,38256,19189,18800,25776,29859,59984,27480,21952,43872,38613,37600,51552,55636,54432,55888,30034,22176,43959,9680,37584,51893,43344,46240,47780,44368,21977,19360,42416,86390,21168,43312,31060,27296,44368,23378,19296,42726,42208,53856,60005,54576,23200,30371,38608,19195,19152,42192,118966,53840,54560,56645,46496,22224,21938,18864,42359,42160,43600,111189,27936,44448,84835,37744,18936,18800,25776,92326,59984,27424,108228,43744,41696,53987,51552,54615,54432,55888,23893,22176,42704,21972,21200,43448,43344,46240,46758,44368,21920,43940,42416,21168,45683,26928,29495,27296,44368,84821,19296,42352,21732,53600,59752,54560,55968,92838,22224,19168,43476,41680,53584,62034,54560],F=[31,28,31,30,31,30,31,31,30,31,30,31],z=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],I=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],E=["甲子-乙丑-丙寅-丁卯-戊辰-己巳-庚午-辛未-壬申-癸酉-甲戌-乙亥","丙子-丁丑-戊寅-己卯-庚辰-辛巳-壬午-癸未-甲申-乙酉-丙戌-丁亥","戊子-己丑-庚寅-辛卯-壬辰-癸巳-甲午-乙未-丙申-丁酉-戊戌-己亥","庚子-辛丑-壬寅-癸卯-甲辰-乙巳-丙午-丁未-戊申-己酉-庚戌-辛亥","壬子-癸丑-甲寅-乙卯-丙辰-丁巳-戊午-己未-庚申-辛酉-壬戌-癸亥","甲子-乙丑-丙寅-丁卯-戊辰-己巳-庚午-辛未-壬申-癸酉-甲戌-乙亥","丙子-丁丑-戊寅-己卯-庚辰-辛巳-壬午-癸未-甲申-乙酉-丙戌-丁亥","戊子-己丑-庚寅-辛卯-壬辰-癸巳-甲午-乙未-丙申-丁酉-戊戌-己亥","庚子-辛丑-壬寅-癸卯-甲辰-乙巳-丙午-丁未-戊申-己酉-庚戌-辛亥","壬子-癸丑-甲寅-乙卯-丙辰-丁巳-戊午-己未-庚申-辛酉-壬戌-癸亥"],K=["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"],P=["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"],$=["9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c3598082c95f8c965cc920f","97bd0b06bdb0722c965ce1cfcc920f","b027097bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd0b06bdb0722c965ce1cfcc920f","b027097bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd0b06bdb0722c965ce1cfcc920f","b027097bd097c36b0b6fc9274c91aa","9778397bd19801ec9210c965cc920e","97b6b97bd19801ec95f8c965cc920f","97bd09801d98082c95f8e1cfcc920f","97bd097bd097c36b0b6fc9210c8dc2","9778397bd197c36c9210c9274c91aa","97b6b97bd19801ec95f8c965cc920e","97bd09801d98082c95f8e1cfcc920f","97bd097bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c91aa","97b6b97bd19801ec95f8c965cc920e","97bcf97c3598082c95f8e1cfcc920f","97bd097bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c3598082c95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c3598082c95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd097bd07f595b0b6fc920fb0722","9778397bd097c36b0b6fc9210c8dc2","9778397bd19801ec9210c9274c920e","97b6b97bd19801ec95f8c965cc920f","97bd07f5307f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c920e","97b6b97bd19801ec95f8c965cc920f","97bd07f5307f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c91aa","97b6b97bd19801ec9210c965cc920e","97bd07f1487f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c9274c920e","97bcf7f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c91aa","97b6b97bd197c36c9210c9274c920e","97bcf7f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c920e","97b6b7f0e47f531b0723b0b6fb0722","7f0e37f5307f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36b0b70c9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e37f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc9210c8dc2","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0787b0721","7f0e27f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c91aa","97b6b7f0e47f149b0723b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c8dc2","977837f0e37f149b0723b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e37f5307f595b0b0bc920fb0722","7f0e397bd097c35b0b6fc9210c8dc2","977837f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0721","7f0e37f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc9210c8dc2","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f149b0723b0787b0721","7f0e27f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14998082b0723b06bd","7f07e7f0e37f149b0723b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e37f1487f595b0b0bb0b6fb0722","7f0e37f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e37f1487f531b0b0bb0b6fb0722","7f0e37f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e37f1487f531b0b0bb0b6fb0722","7f0e37f0e37f14898082b072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e37f0e37f14898082b072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f149b0723b0787b0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14998082b0723b06bd","7f07e7f0e47f149b0723b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14998082b0723b06bd","7f07e7f0e37f14998083b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14898082b0723b02d5","7f07e7f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e36665b66aa89801e9808297c35","665f67f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e36665b66a449801e9808297c35","665f67f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e36665b66a449801e9808297c35","665f67f0e37f14898082b072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e26665b66a449801e9808297c35","665f67f0e37f1489801eb072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722"],Y=["日","一","二","三","四","五","六","七","八","九","十"],q=["初","十","廿","卅"],J=["正","二","三","四","五","六","七","八","九","十","冬","腊"],x=function(b){let f,e=348;for(f=32768;f>8;f>>=1)e+=l[b-1900]&f?1:0;return e+D(b)},v=function(b){return l[b-1900]&15},D=function(b){return v(b)?l[b-1900]&65536?30:29:0},k=function(b,f){return f>12||f<1?-1:l[b-1900]&65536>>f?30:29},L=function(b){let f=(b-3)%10,e=(b-3)%12;return f==0&&(f=10),e==0&&(e=12),z[f-1]+I[e-1]},T=function(b){return z[b%10]+I[b%12]},Q=function(b){var f=E[b%10];return f.split("-")},j=function(b){if(b>12||b<1)return-1;let f=J[b-1];return f+="月",f},A=function(b){var f;switch(b){case 10:f="初十";break;case 20:f="二十";break;case 30:f="三十";break;default:f=q[Math.floor(b/10)],f+=Y[b%10]}return f},R=b=>P[b],V=function(b,f){if(f>12||f<1)return console.error("月份参数为1至12"),-1;let e=f-1;return e==1?b%4==0&&b%100!=0||b%400==0?29:28:F[e]},m=function(b,f){if(f>12||f<1)return console.error("月份参数为1至12"),-1;let e=f-1;return new Date(b,e,1,0,0,0,0).getDay()},G=function(b,f){let e="魔羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯",c=[20,19,21,21,21,22,23,23,23,23,22,22];return e.substr(b*2-(f<c[b-1]?2:0),2)+"座"},O=function(b,f){if(b<1900||b>2100||f<1||f>24)return-1;let e=$[b-1900],c=[parseInt("0x"+e.substr(0,5)).toString(),parseInt("0x"+e.substr(5,5)).toString(),parseInt("0x"+e.substr(10,5)).toString(),parseInt("0x"+e.substr(15,5)).toString(),parseInt("0x"+e.substr(20,5)).toString(),parseInt("0x"+e.substr(25,5)).toString()];var t=[c[0].substr(0,1),c[0].substr(1,2),c[0].substr(3,1),c[0].substr(4,2),c[1].substr(0,1),c[1].substr(1,2),c[1].substr(3,1),c[1].substr(4,2),c[2].substr(0,1),c[2].substr(1,2),c[2].substr(3,1),c[2].substr(4,2),c[3].substr(0,1),c[3].substr(1,2),c[3].substr(3,1),c[3].substr(4,2),c[4].substr(0,1),c[4].substr(1,2),c[4].substr(3,1),c[4].substr(4,2),c[5].substr(0,1),c[5].substr(1,2),c[5].substr(3,1),c[5].substr(4,2)];return parseInt(t[f-1])},U=function(b){return K[(b-4)%12]},b0=b=>Y[b],f0={2020:{xiu:["0101","0124","0125","0126","0127","0128","0129","0130","0404","0405","0406","0501","0502","0503","0504","0505","0625","0626","0627","1001","1002","1003","1004","1005","1006","1007","1008"],ban:["0119","0201","0426","0509","0628","0927","1010"]},2021:{xiu:["0101","0102","0103","0211","0212","0213","0214","0215","0216","0217","0403","0404","0405","0501","0502","0503","0504","0505","0612","0613","0614","0919","0920","0921","1001","1002","1003","1004","1005","1006","1007"],ban:["0207","0220","0425","0508","0918","0926","1009"]}};function e0(b){var f={2023:{xiu:["0101"],ban:["0202","0303"]}};return Object.keys(b).forEach(function(e){console.log(b),typeof e=="string"&&(parseInt(e)||(console.error("请检查输入的key是否正确:key应为number或者可被转换的string",f),console.error("当前key为",e))),b[e].xiu||console.error("请检查输入的休息的key格式是否正确:key应为xiu",f),b[e].ban||console.error("请检查输入的调休的key格式是否正确:ban",f)}),Object.assign({},f0,b)}const c0=function(b,f,e,c){var t=e0(c);const r=(f<10?"0"+f:f.toString())+(e<10?"0"+e:e.toString());return t[b]?{Xiu:t[b].xiu.includes(r),Ban:t[b].ban.includes(r),newRest:t}:{Xiu:!1,Ban:!1,newRest:t}},S={sFtv:{1001:["国庆节","国际音乐日","世界微笑日","国际老人节"],1002:["国际和平与民主自由斗争日"],1004:["世界动物日","世界住房日","国际建筑日"],1005:["世界教师日"],1008:["世界视觉日","全国高血压日","世界视力日"],1009:["世界邮政日"],1010:["世界精神卫生日","辛亥革命纪念日"],1011:["萝莉节"],1012:["世界关节炎日"],1013:["国际减轻自然灾害日","世界保健日","国际标准时间日","中国少年先锋队诞辰日"],1014:["世界标准日"],1015:["国际盲人节","全球洗手日","世界农村妇女日"],1016:["世界粮食节"],1017:["国际消除贫困日","国家扶贫日"],1019:["世界镇痛日"],1020:["世界骨质疏松日","世界厨师日"],1022:["世界传统医药日"],1024:["联合国日","世界发展信息日"],1025:["人类天花绝迹日","抗美援朝纪念日"],1028:["世界男性健康日"],1029:["圣纪节"],1031:["世界勤俭日"],1101:["万圣节"],1108:["中国记者日","记者节"],1109:["消防宣传日"],1111:["光棍节","双十一购物狂欢节"],1112:["吉尼斯世界纪录日"],1114:["联合国糖尿病日","屌丝节"],1116:["国际宽容日"],1117:["国际大学生节"],1119:["世界厕所日"],1120:["世界儿童日"],1121:["世界电视日","世界问候日"],1125:["感恩节","国际消除对妇女的暴力日"],1129:["国际声援巴勒斯坦人民日"],1201:["世界艾滋病日"],1202:["全国交通安全日"],1203:["国际残疾人日"],1204:["全国法制宣传日","国家宪法日"],1205:["国际志愿人员日"],1207:["国际民航日"],1209:["世界足球日","国际反腐败日"],1210:["世界人权日"],1212:["双十二购物狂欢节","国际儿童电视广播日"],1213:["国家公祭日"],1215:["世界强化免疫日"],1218:["国际移徙者日"],1219:["联合国南南合作日"],1220:["澳门回归纪念"],1221:["国际篮球日"],1224:["平安夜"],1225:["圣诞节"],1226:["毛泽东诞辰日"],"0101":["元旦"],"0131":["国际麻风节"],"0126":["国际海关日"],"0127":["国际大屠杀纪念日"],"0202":["世界湿地日"],"0207":["国际声援南非日"],"0210":["国际气象节"],"0214":["情人节"],"0224":["第三世界青年日"],"0204":["世界抗癌症日","世界癌症日"],"0221":["国际母语日"],"0228":["国际罕见病日","世界居住条件调查日"],"0301":["国际海豹日","国际民防日"],"0303":["全国爱耳日"],"0305":["学雷锋纪念日","中国青年志愿者服务日"],"0308":["妇女节"],"0312":["植树节","世界肾脏日"],"0314":["白色情人节","国际警察日"],"0315":["消费者权益日"],"0317":["国际航海日"],"0320":["世界无肉日"],"0321":["世界睡眠日","世界森林日","世界儿歌日","国际消除种族歧视日","世界诗歌日"],"0322":["世界水日"],"0323":["世界气象日"],"0311":["国际尊严尊敬日"],"0316":["手拉手情系贫困小伙伴全国统一行动日","世界社会工作日"],"0324":["世界防治结核病日"],"0307":["女生节"],"0306":["世界青光眼日"],"0327":["世界戏剧日"],"0309":["保护母亲河日"],"0318":["全国科技人才活动日"],"0329":["全国中小学生安全教育日"],"0410":["耶稣受难日","非洲环境保护日"],"0401":["愚人节"],"0402":["国际儿童图书日","世界自闭症日"],"0407":["世界卫生日"],"0411":["世界帕金森病日"],"0422":["世界地球日"],"0423":["世界读书日","中国海军建军节"],"0426":["世界知识产权日"],"0404":["复活节"],"0417":["世界血友病日"],"0418":["国际古迹遗址日"],"0421":["秘书节"],"0425":["世界防治疟疾日","全国儿童预防接种宣传日"],"0428":["世界安全生产与健康日"],"0429":["化学战受害者纪念日"],"0415":["全民国家安全教育日"],"0424":["中国航天日"],"0430":["全国交通安全反思日"],"0501":["劳动节"],"0504":["青年节","五四运动纪念日"],"0505":["世界哮喘日","碘缺乏病防治日"],"0508":["世界红十字日"],"0512":["国际护士节","全国防灾减灾日"],"0510":["母亲节","中国品牌日"],"0515":["国际家庭日","防治碘缺乏病日"],"0517":["世界电信日","全国助残日","世界高血压日"],"0518":["国际博物馆日"],"0520":["全国学生营养日","全国母乳喂养宣传日","世界计量日"],"0522":["国际生物多样性日"],"0531":["世界无烟日"],"0513":["开斋节"],"0503":["世界新闻自由日"],"0521":["世界文化发展日"],"0526":["世界向人体条件挑战日"],"0529":["国际维和人员日"],"0509":["救助贫困母亲日"],"0519":["中国旅游日"],"0606":["全国爱眼日"],"0601":["国际儿童节","世界牛奶日"],"0605":["世界环境日"],"0612":["中国文化遗产日","世界无童工日"],"0620":["父亲节","世界难民日"],"0617":["世界防治荒漠化和干旱日"],"0623":["国际奥林匹克日"],"0625":["全国土地日"],"0626":["国际禁毒日","联合国宪章日"],"0604":["受侵略戕害的无辜儿童国际日"],"0608":["世界海洋日"],"0614":["世界献血日"],"0630":["世界青年联欢节"],"0622":["中国儿童慈善活动日"],"0701":["香港回归纪念日","建党节","世界建筑日"],"0703":["国际合作节"],"0711":["世界人口日","中国航海日"],"0720":["古尔邦节","人类月球日"],"0702":["国际体育记者日"],"0706":["国际接吻日"],"0708":["世界过敏性疾病日"],"0718":["纳尔逊·曼德拉国际日"],"0728":["世界肝炎日"],"0731":["非洲妇女节"],"0801":["建军节"],"0803":["男人节"],"0808":["八卦节","全民健身日"],"0809":["国际土著人日"],"0826":["纳米比亚日","全国律师咨询日"],"0815":["日本无条件投降日"],"0819":["中国医师节"],"0903":["中国人民抗日战争纪念日","中国人民抗日战争胜利纪念日"],"0908":["国际扫盲日"],"0910":["教师节","世界预防自杀日"],"0916":["国际臭氧层保护日"],"0918":["中国国耻日","世界清洁地球日","九一八事变","全民国防教育日"],"0920":["国际爱牙日","公民道德宣传日"],"0921":["国际和平日","世界停火日","世界阿尔茨海默病日"],"0927":["国际聋人节","世界旅游日","国际聋人日"],"0928":["孔子诞辰"],"0911":["世界急救日"],"0915":["国际民主日"],"0922":["世界无车日"],"0926":["世界避孕日"],"0930":["国际翻译日","烈士纪念日"],"0905":["中华慈善日"]},lFtv:{1015:["下元节"],1208:["腊八节"],1223:["小年","祭灶节"],1230:["除夕"],"0101":["春节"],"0115":["元宵节"],"0202":["龙抬头","中和节"],"0303":["上巳节"],"0408":["寒衣节"],"0505":["端午节"],"0520":["分龙节"],"0616":["鲁班节"],"0707":["七夕情人节"],"0714":["鬼节(南方)"],"0715":["中元节","盂兰节"],"0815":["中秋节"],"0909":["重阳节"]}};function w(b,f){return Object.keys(b).forEach(function(e){if(Array.isArray(b[e]))if(b[e].forEach(c=>{typeof c!="string"&&console.error("节日名称应为String",c)}),!f.hasOwnProperty(e))f[e]=b[e];else{const c=f[e].concat(b[e]);f[e]=c.filter(function(t,r,n){return n.indexOf(t)===r})}else console.error("节日汇总格式是应为数组",b)}),f}const B=function(b,f,e,c=!0){const t=(b<10?"0"+b:b.toString())+(f<10?"0"+f:f.toString());let r={};return c?e.sFtv?r=w(e.sFtv,S.sFtv):r=S.sFtv:e.lFtv?r=w(e.lFtv,S.lFtv):r=S.lFtv,r[t]?{Festival:r,FDays:r[t]}:{Festival:r,FDays:null}},N=function(b,f,e){let c;b?c=new Date(b,f-1,e):c=new Date;let t,r=0,n=0;b=c.getFullYear(),f=c.getMonth()+1,e=c.getDate();let s=(Date.UTC(c.getFullYear(),c.getMonth(),c.getDate())-Date.UTC(1900,0,31))/864e5;for(t=1900;t<2101&&s>0;t++)n=x(t),s-=n;s<0&&(s+=n,t--);let d=new Date,h=!1;d.getFullYear()==b&&d.getMonth()+1==f&&d.getDate()==e&&(h=!0);var g=c.getDay(),p=b0(g);g==0&&(g=7);let i=t;r=v(t);let o=!1;for(t=1;t<13&&s>0;t++)r>0&&t==r+1&&o==!1?(--t,o=!0,n=D(i)):n=k(i,t),o==!0&&t==r+1&&(o=!1),s-=n;s==0&&r>0&&t==r+1&&(o?o=!1:(o=!0,--t)),s<0&&(s+=n,--t);let y=t,a=s+1,t0=f-1,r0=L(i),X=O(b,f*2-1),s0=O(b,f*2),Z=T((b-1900)*12+f+11);e>=X&&(Z=T((b-1900)*12+f+12));let C=null;X==e&&(C=R(f*2-2)),s0==e&&(C=R(f*2-1));let H=Date.UTC(b,t0,1,0,0,0,0)/864e5+25567+10,n0=T(H+e-1),a0=Q(H+e-1),o0=G(f,e);const W=B(f,e,u.setFestival),_=B(y,a,u.setFestival,!1);let l0=W.FDays,d0=_.FDays;u.Festival={sFtv:W.Festival,lFtv:_.Festival};let M=c0(b,f,e,u.setRest);return u.Rest=M.newRest,{Xiu:M.Xiu,Ban:M.Ban,Gljr:l0,Nljr:d0,lYear:i,lMonth:y,lDay:a,Animal:U(i),LMonthCn:(o?"闰":"")+j(y),LDayCn:A(a),cYear:b,cMonth:f,cDay:e,gzYear:r0,gzMonth:Z,gzDay:n0,gzHour:a0,isToday:h,isLeap:o,nWeek:g,ncWeek:"星期"+p,Term:C,astro:o0}},u={setRest:{},Rest:{},setFestival:{},Festival:{},lYearDays:x,leapMonth:v,leapDays:D,lMonthDays:k,toChinaMonth:j,toChinaDay:A,solarDays:V,solarFirstWeek:m,toAstro:G,getAnimal:U,solar2lunar:N,lunar2solar:function(b,f,e,c){c=!!c;let t=v(b);if(c&&t!=f||b==2100&&f==12&&e>1||b==1900&&f==1&&e<31)return-1;let r=k(b,f),n=r;if(c&&(n=D(b)),b<1900||b>2100||e>n)return-1;let s=0;for(let a=1900;a<b;a++)s+=x(a);let d=0,h=!1;for(let a=1;a<f;a++)d=v(b),h||d<=a&&d>0&&(s+=D(b),h=!0),s+=k(b,a);c&&(s+=r);let g=Date.UTC(1900,1,30,0,0,0),p=new Date((s+e-31)*864e5+g),i=p.getUTCFullYear(),o=p.getUTCMonth()+1,y=p.getUTCDate();return N(i,o,y)}};return u});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanguogege/calendar",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "keywords": [
5
5
  "日历",
6
6
  "农历",
@@ -10,6 +10,9 @@
10
10
  "description": "ts版本的日历生成器 LTS",
11
11
  "author": "sanguogege",
12
12
  "type": "module",
13
+ "files": [
14
+ "dist"
15
+ ],
13
16
  "scripts": {
14
17
  "dev": "vite",
15
18
  "build": "tsc && vite build",
package/index.html DELETED
@@ -1,18 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="zh">
3
-
4
- <head>
5
- <meta charset="UTF-8" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>Vite + TS</title>
8
- </head>
9
-
10
- <body>
11
- <div id="app"></div>
12
- </body>
13
- <script src="./dist/index.umd.cjs"></script>
14
- <script>
15
- console.log(calendar);
16
- </script>
17
-
18
- </html>
package/src/core/index.ts DELETED
@@ -1,261 +0,0 @@
1
- import {
2
- lYearDays,
3
- leapMonth,
4
- leapDays,
5
- lMonthDays,
6
- toGanZhiYear,
7
- toGanZhi,
8
- toHourGanZhi,
9
- toChinaMonth,
10
- toChinaDay,
11
- getSolarTerm,
12
- } from "../utils/LunarFunction";
13
-
14
- import {
15
- toAstro,
16
- getTerm,
17
- getAnimal,
18
- solarDays,
19
- solarFirstWeek,
20
- toChinaNum,
21
- } from "../utils/SolarFunction";
22
-
23
- import { RestDay } from "../utils/SetRest";
24
- import { FestivalDay } from "../utils/SetFestival";
25
-
26
- const solar2lunar = function (y: number, m: number, d: number): object {
27
- //未传参获得当天
28
- let objDate: Date;
29
- if (!y) {
30
- objDate = new Date();
31
- } else {
32
- objDate = new Date(y, m - 1, d);
33
- }
34
- let i: number,
35
- leap: number = 0,
36
- temp: number = 0;
37
- //修正ymd参数
38
- (y = objDate.getFullYear()),
39
- (m = objDate.getMonth() + 1),
40
- (d = objDate.getDate());
41
- let offset: number =
42
- (Date.UTC(
43
- objDate.getFullYear(),
44
- objDate.getMonth(),
45
- objDate.getDate()
46
- ) -
47
- Date.UTC(1900, 0, 31)) /
48
- 86400000;
49
- for (i = 1900; i < 2101 && offset > 0; i++) {
50
- temp = lYearDays(i);
51
- offset -= temp;
52
- }
53
- if (offset < 0) {
54
- offset += temp;
55
- i--;
56
- }
57
-
58
- //是否今天
59
- let isTodayObj: Date = new Date(),
60
- isToday: boolean = false;
61
- if (
62
- isTodayObj.getFullYear() == y &&
63
- isTodayObj.getMonth() + 1 == m &&
64
- isTodayObj.getDate() == d
65
- ) {
66
- isToday = true;
67
- }
68
- //星期几
69
- var nWeek: number = objDate.getDay(),
70
- cWeek: string = toChinaNum(nWeek);
71
- //数字表示周几顺应天朝周一开始的惯例
72
- if (nWeek == 0) {
73
- nWeek = 7;
74
- }
75
- //农历年
76
- let year: number = i;
77
- leap = leapMonth(i); //闰哪个月
78
- let isLeap = false;
79
-
80
- //效验闰月
81
- for (i = 1; i < 13 && offset > 0; i++) {
82
- //闰月
83
- if (leap > 0 && i == leap + 1 && isLeap == false) {
84
- --i;
85
- isLeap = true;
86
- temp = leapDays(year); //计算农历闰月天数
87
- } else {
88
- temp = lMonthDays(year, i); //计算农历普通月天数
89
- }
90
- //解除闰月
91
- if (isLeap == true && i == leap + 1) {
92
- isLeap = false;
93
- }
94
- offset -= temp;
95
- }
96
- // 闰月导致数组下标重叠取反
97
- if (offset == 0 && leap > 0 && i == leap + 1) {
98
- if (isLeap) {
99
- isLeap = false;
100
- } else {
101
- isLeap = true;
102
- --i;
103
- }
104
- }
105
- if (offset < 0) {
106
- offset += temp;
107
- --i;
108
- }
109
- //农历月
110
- let month: number = i;
111
- //农历日
112
- let day: number = offset + 1;
113
- //天干地支处理
114
- let sm: number = m - 1;
115
- let gzY: string = toGanZhiYear(year);
116
-
117
- // 当月的两个节气
118
- let firstNode: number = getTerm(y, m * 2 - 1); //返回当月「节」为几日开始
119
- let secondNode: number = getTerm(y, m * 2); //返回当月「节」为几日开始
120
-
121
- // 依据12节气修正干支月
122
- let gzM: string = toGanZhi((y - 1900) * 12 + m + 11);
123
- if (d >= firstNode) {
124
- gzM = toGanZhi((y - 1900) * 12 + m + 12);
125
- }
126
-
127
- //传入的日期的节气与否,有则值,没有则为null
128
- let Term: any = null;
129
- if (firstNode == d) {
130
- Term = getSolarTerm(m * 2 - 2);
131
- }
132
- if (secondNode == d) {
133
- Term = getSolarTerm(m * 2 - 1);
134
- }
135
- //日柱 当月一日与 1900/1/1 相差天数
136
- let dayCyclical: number =
137
- Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10;
138
- let gzD: string = toGanZhi(dayCyclical + d - 1);
139
-
140
- // 二十四小时对应的天干地支
141
- let gzH = toHourGanZhi(dayCyclical + d - 1);
142
-
143
- //该日期所属的星座
144
- let astro: string = toAstro(m, d);
145
- // 设置公里节日
146
- const GAll = FestivalDay(m, d, calendar.setFestival);
147
- const NAll = FestivalDay(month, day, calendar.setFestival, false);
148
- let Gljr = GAll.FDays;
149
- let Nljr = NAll.FDays;
150
- calendar.Festival = {
151
- sFtv: GAll.Festival,
152
- lFtv: NAll.Festival,
153
- };
154
- let XiuBox = RestDay(y, m, d, calendar.setRest);
155
- calendar.Rest = XiuBox.newRest;
156
- // 用于设置上个月
157
- return {
158
- Xiu: XiuBox.Xiu,
159
- Ban: XiuBox.Ban,
160
- Gljr: Gljr,
161
- Nljr: Nljr,
162
- lYear: year,
163
- lMonth: month,
164
- lDay: day,
165
- Animal: getAnimal(year),
166
- LMonthCn: (isLeap ? "\u95f0" : "") + toChinaMonth(month),
167
- LDayCn: toChinaDay(day),
168
- cYear: y,
169
- cMonth: m,
170
- cDay: d,
171
- gzYear: gzY,
172
- gzMonth: gzM,
173
- gzDay: gzD,
174
- gzHour: gzH,
175
- isToday: isToday,
176
- isLeap: isLeap,
177
- nWeek: nWeek,
178
- ncWeek: "\u661f\u671f" + cWeek,
179
- Term: Term,
180
- astro: astro,
181
- };
182
- };
183
-
184
- const lunar2solar = function (
185
- y: number,
186
- m: number,
187
- d: number,
188
- isLeapMonth: boolean
189
- ): any {
190
- //参数区间1900.1.31~2100.12.1
191
- isLeapMonth = !!isLeapMonth;
192
- let leapM: any = leapMonth(y);
193
- if (isLeapMonth && leapM != m) {
194
- return -1;
195
- } //传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同
196
- if ((y == 2100 && m == 12 && d > 1) || (y == 1900 && m == 1 && d < 31)) {
197
- return -1;
198
- } //超出了最大极限值
199
- let day: number = lMonthDays(y, m);
200
- let _day: number = day;
201
- //bugFix 2016-9-25
202
- //if month is leap, _day use leapDays method
203
- if (isLeapMonth) {
204
- _day = leapDays(y);
205
- }
206
- if (y < 1900 || y > 2100 || d > _day) {
207
- return -1;
208
- } //参数合法性效验
209
-
210
- //计算农历的时间差
211
- let offset: number = 0;
212
- for (let i = 1900; i < y; i++) {
213
- offset += lYearDays(i);
214
- }
215
- let leap: number = 0,
216
- isAdd: boolean = false;
217
- for (let i = 1; i < m; i++) {
218
- leap = leapMonth(y);
219
- if (!isAdd) {
220
- //处理闰月
221
- if (leap <= i && leap > 0) {
222
- offset += leapDays(y);
223
- isAdd = true;
224
- }
225
- }
226
- offset += lMonthDays(y, i);
227
- }
228
- //转换闰月农历 需补充该年闰月的前一个月的时差
229
- if (isLeapMonth) {
230
- offset += day;
231
- }
232
- //1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点)
233
- let stmap: number = Date.UTC(1900, 1, 30, 0, 0, 0);
234
- let calObj: Date = new Date((offset + d - 31) * 86400000 + stmap);
235
- let cY: number = calObj.getUTCFullYear();
236
- let cM: number = calObj.getUTCMonth() + 1;
237
- let cD: number = calObj.getUTCDate();
238
-
239
- return solar2lunar(cY, cM, cD);
240
- };
241
-
242
- const calendar = {
243
- setRest: {},
244
- Rest: {},
245
- setFestival: {},
246
- Festival: {},
247
- lYearDays,
248
- leapMonth,
249
- leapDays,
250
- lMonthDays,
251
- toChinaMonth,
252
- toChinaDay,
253
- solarDays,
254
- solarFirstWeek,
255
- toAstro,
256
- getAnimal,
257
- solar2lunar,
258
- lunar2solar,
259
- };
260
-
261
- export default calendar;