ha-datetimepicker伊朗历1403年新年首日计算错误求助
伊朗历1403年新年首日星期计算错误修复求助
我在Web应用中使用ha-datetimepicker组件时发现,伊朗历1403年的新年首日被错误计算为周四,而正确起始日应为周三。问题显然与以下代码片段相关,但我无法自行解决,恳请各位帮忙修复该问题。
感谢大家...
HaSolarDate.prototype.getWeekDay = function (solarDate) { if (solarDate == null) solarDate = this; var month = solarDate.getMonth() + 1; var year = solarDate.getFullYear(); var day = solarDate.getDate(); if (Number(day) == "NaN" || Number(month) == "NaN" || Number(year) == "NaN") return "Wrong Date!"; var firstDayOfYear95 = 1; var step = year < 1395 ? 1 : -1; var i = year; var leapCount = 0; while (i != 1395) { if (this.isLeapYear(i)) leapCount++; i += step; } if (year > 1395) leapCount++; var offset = (firstDayOfYear95 + (leapCount * -step)) % 7; var firstDayOfYear = (((year - 1395) % 7) + offset) % 7; if (firstDayOfYear < 0) firstDayOfYear = 7 + firstDayOfYear; if (month <= 6) { var dayOfWeek = ((((month - 1) * 3) - 1) + day + firstDayOfYear) % 7; } else { var dayOfWeek = ((((month - 1) * 2) - 2) + day + firstDayOfYear) % 7; } dayOfWeek = Math.floor(dayOfWeek); if (dayOfWeek == 7) dayOfWeek = 0; return dayOfWeek; }


内容的提问来源于stack exchange,提问作者Mohsen Jabbari
相关产品推荐
相关产品推荐

