お久しぶりです
前回の追記で、
昨日まとめたあとに、これだと4/30とかに実行した場合9/30からしかとれないのでは...と気がつきました。
また他の方法を試し次第編集します。
と書いたのを修正したので、まとめていこうと思います。
async function main() {
const date = new Date();
console.log(date);
const month = date.getMonth() + 1;
let period;
if (month !== 4 && month !== 9) {
console.log("学期始めではありません");
return;
}
if (month === 4) {
period = 7;
} else if (month === 9) {
period = 5;
}
const year_e = date.getFullYear();
const month_e = date.getMonth() - 2;
date.setMonth(date.getMonth() - period);
const year_s = date.getFullYear();
const month_s = date.getMonth() - 2;
const start = new Date(year_s, month_s);
const end = new Date(year_e, month_e);
start.setDate(2);
end.setDate(2);
let users = getUsers();
users.forEach((user) => {
user.twitter = getLikesAndRT(user, start, end);
updateTwitterData(user);
});
}
前回は現在日時から半期ごと(前期: 4~8, 後期: 9~3)の情報を取得していたのに対し、今回は、現在年月から半期ごとの情報を取得するように変更しました。
始まりの月と、終わりの月を前期後期で変更するようにしました。
上の画像のように、2019年の9月1日から2020年の4月1日分(2019年度後期分)のデータを取得することができました。
また、1週間ごとのデータも取得するようにしました。
これで、1人につき、
・全期間での評価
・半期ごとの評価
・1週間ごとの評価
のデータをまとめることができました。
これらを加工してAPIとして渡せるようにしたいと思います。
次回は、DynamoDBからMongoDBへの書き換え作業をしていこうと思います。