简体   繁体   English

学校的自定义周数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM