通过对新版正方教务系统的课表页面的解析,实现导出一个适用于大部分ics日历的文件,理论使用于所有使用新版正方教务系统(可对 ``include`` 进行一定的修改以适用不同的学校的链接)
可以将这段代码
// --------------------------------------------------------------------------
// 通过节次确定时间, 默认每天上午8点上课,每节课两小时(无休息时间),下午2点上课
function getTime(num, StartOrEnd) {
if (num <= 4) {
num = 7 + num + StartOrEnd;
} else {
num = 9 + num + StartOrEnd;
}
return "" + getFixedLen("" + 20, 2) + "0000"
}
改为
// --------------------------------------------------------------------------
// 通过节次确定时间, 默认每天上午8点上课,每节课两小时(无休息时间),下午13点半上课
function getTime(num, StartOrEnd) {
let time = ''
if (StartOrEnd == 0) {
switch (num) {
case 1: //理论第一节大课开始时间
time = "" + getFixedLen("" + 8, 2) + "0000" // 8 代表 8 点, '0000' 前两个'0'代表分钟,后两个代表'0'代表秒
break
case 3://理论第二节大课开始时间
time = "" + getFixedLen("" + 10, 2) + "1000"
break
case 5://理论第三节大课开始时间
time = "" + getFixedLen("" + 13, 2) + "3000"
break
case 7://理论第四节大课开始时间
time = "" + getFixedLen("" + 15, 2) + "3000"
break
case 9://理论第五节大课开始时间
time = "" + getFixedLen("" + 18, 2) + "0000"
break
}
} else {
switch (num) {
case 2://理论第一节大课结束时间
time = "" + getFixedLen("" + 9, 2) + "4000"
break
case 4://理论第二节大课结束时间
time = "" + getFixedLen("" + 11, 2) + "5000"
break
case 6://理论第三节大课结束时间
time = "" + getFixedLen("" + 15, 2) + "1000"
break
case 8://理论第四节大课结束时间
time = "" + getFixedLen("" + 17, 2) + "1000"
break
case 10://理论第五节大课结束时间
time = "" + getFixedLen("" + 19, 2) + "3500"
break
case 11://理论第五节大课结束时间
time = "" + getFixedLen("" + 20, 2) + "2500"
break
}
}
return time;
}
或者你可以试试根据这个脚本改的,更适合我自己学校的脚本 南信院-新版正方教务系统导出课程表
你好,如果我想改时间的话应该怎么办,我们学校不是早上八点开始上课的,一节课也不是两个小时,中间还有课间休息。不过其他都成功了,谢谢作者!!!