[英]Custom week number of year for school
我试图通过修改iso周数来显示学期学期周数。
you cannot compare a number to multiple values like that 你无法将数字与多个值进行比较
if (weekNo >= 5 && <= 18)
is illegal syntax. 是非法的语法。 instead you make two comparisons joined with a "logical and" operator: &&
相反,你使用“逻辑和”运算符进行两个比较: &&
if (weekNo >= 5 && weekNo <= 18)
This says: "if weekNo is greater than or equal to 5" AND "if weekNo is less than or equal to 18" 这表示:“如果weekNo大于或等于5”并且“如果weekNo小于或等于18”
Each side of the &&
operator is considered a separate statement for evaluation. &&
运算符的每一侧都被视为单独的评估语句。 It is expecting an identifier after the &&
. 期待&&
之后的标识符。
Rewrite it like this for each of your if
statements: 对每个if
语句重写如下:
weekNo >= 5 && weekNo <= 18
You are missing some formatting as others have pointed out and there is a rogue comma bewfore the return statement. 你错过了一些其他人指出的格式,并且在return语句之前有一个流氓逗号。 I have formatted your block for you. 我为你格式化了你的块。
function getWeekNumber(d) { // Copy date so don't modify original d = new Date(+d); d.setHours(0,0,0,0); // Set to nearest Thursday: current date + 4 - current day number // Make Sunday's day number 7 d.setDate(d.getDate() + 4 - (d.getDay()||7)); // Get first day of year var yearStart = new Date(d.getFullYear(),0,1); // Calculate full weeks to nearest Thursday var weekNo = Math.ceil((( (d - yearStart) / 86400000) + 1)/7); // Return array of year and week number //modify week number to display 1-12 semester 2 if (weekNo >= 5 && weekNo <= 18 ) { var schoolWeekNo = weekNo - 4; var semester = 2; } //modify week number to display 1-12 semester 1 else if (weekNo >= 39 && weekNo<= 50) { var schoolWeekNo = weekNo - 38; var semester = 1; } //do not display week number for none semester dates else { schoolWeekNo = null; semester = null; }; return [semester,schoolWeekNo]; }; alert(getWeekNumber(Date.now()));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.