点击获取日期中,如果是非当前月份的天数可能会有问题,我把源码改了如下:
{
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': '大寒'
}
回复