点击获取日期中,如果是非当前月份的天数可能会有问题,我把源码改了如下:
{ key: 'getSelectedDay', value: function getSelectedDay() { var selectYear = this.container.querySelector('.sc-select-year').value; var selectMonth = this.container.querySelector('.sc-select-month').value; var selectDay = this.selectDay.querySelector('.day').innerHTML; var cq = this.container.querySelector(".sc-selected.sc-othermenth"); if (cq) { //点击的日期是其他月份的 if (selectDay > 15) { //上个月 return new Date(selectYear, selectMonth - 2, selectDay); } else { //下个月 return new Date(selectYear, selectMonth, selectDay); } } return new Date(selectYear, selectMonth - 1, selectDay); }
别的问题我看大家都有解决,我再说一个小小bug。
设置起止年份:
timeRange: { startYear: 1900, endYear: 2049 },
设置到想要的年份,比如:
timeRange: { startYear: 1900, endYear: 2200 },
一定要在js中的第27行处,更改循环条件,否则大于条件的年份农历都为undefined
for (i = 1900; i < 2200 && offset - this.lYearDays(i) > 0; i++) {}
刚刚又发现了个bug,就是我更改了循环条件后,从2195年开始到2200年,农历日期依然为undefined,暂时没发现什么问题。我暂时只好,循环条件不变,将截止年份更改为2194年。那个哥们儿发现怎么回事了,说一声。
//中文日期 }, { key: 'cDay', value: function cDay(d) { var s; switch (d) { case 10: s = '初十'; break; case 20: s = '二十'; break; break; case 30: s = '三十'; break; break; default: s = this.nStr2[Math.floor(d / 10)]; // s += this.nStr1[d % 10]; Math.floor(d % 10) //这里错了,改成下面那句 s += this.nStr1[Math.floor(d % 10)]; } return s; } //中文月份
休假判断的数值错了 原:
if (data.indexOf(currentmonth + '-' + day) > 0)
改成:
if (data.indexOf(currentmonth + '-' + day) > -1)
查看源码发现,24节气的公历日期是写死的,这明显就不对啊,每年的节气对应的公历日期不是固定的才对啊!
源码:
solarTerm: { '2-3': '立春', '5-5': '立夏', '8-7': '立秋', '11-7': '立冬', '2-18': '雨水', '5-20': '小满', '8-22': '处暑', '11-22': '小雪', '3-5': '惊蛰', '6-5': '芒种', '9-7': '白露', '12-6': '大雪', '3-20': '春分', '6-21': '夏至', '9-22': '秋分', '12-21': '冬至', '4-4': '清明', '7-6': '小暑', '10-8': '寒露', '1-5': '小寒', '4-19': '谷雨', '7-22': '大暑', '10-23': '霜降', '1-20': '大寒' }回复