将学校课程导入到Google Calendar中

如题所述

第1个回答  2022-07-26

我比较喜欢Google Calendar作为我显示课程的工具, 一到特定时间就会弹出通知框提醒我, 简单好用, 不像超级课程表那么多功能. 有Google Calendar这么强大的日历为什么不使用呢.

一开始我都是手工创建行程, 你需要填行程名字, 时间段, 地点... 如果是你的行程很少, 但是是会固定时间重复, 例如每周周一都要做这么一件事, 你可以使用Google Calendar的重复时间, 重复多少次, 或者到某个日期停止.

但是对于大学课程就不是那么固定啦, 如果自己创建,还要打很多字, 还要去想一下重复多少次, 假如一门课是第8周到第10周的周一上的, 你就知道要重复三次, 但还有一个问题是你要先知道第8周周一是几月几号. 如果是要把一个学期的课程添加完也要十几分钟甚至是半个小时. 而且我通常需要我现在已经上到哪一周的课

当我们登录进教务管理系统之后就可以查询我们的所有课程信息

我使用的Chrome浏览器, 可能上面操作会有点不一样

右键点击一下---选择View frame source, 就可以看到当前网页的源码

上面那一段就是我们想要的数据, 有课程名, 上课周数, 上课时间, 上课地点...我们先把中括号里面的内容复制到一个文件当中

一开始这一段都是一段文字, 可以先分成多行. 可以发现每一条课程记录都是用大括号括起来的{}, 如果我们把" }, "换成换行符就可以变成多行了, 把上面的文字保存到一个叫source文件中

现在再将一些多余的字符串去掉

然后把":"和","替换成空格

得到下面的形式

现在就会得到以空格分割的字段, 第一列是课程名称半导体集成电路, 第9列是上课的节数01,02, 第11列是上课的周数15,9,19,18,17,16,14,13,12,11,10,8,7,6,5,4,3,2,1, 第13列是星期几上课, 第15列是上课地点

我通常就只需要这些信息

现在写一个Java程序去读取这个output文件里面的内容并且装换成Google Calendar支持的CSV格式

运行这个程序就去/path/to/目录下读取source文件, 然后转换好后在/src/com/transfer/目录下生成一个output.cvs文件, 然后导入到Google Calendar中就可以啦.

我并不是太会使用Linux的工具, 也许上面根本就不需要使用到Java去写个程序, 但日后我会慢慢完善这个小程序, 让它可以操作起来更方便.
开源中国码云项目托管地址
https://git.oschina.net/kristar/CourseToCalendar.git