template.js(function() {
// 日付をyyyy-mm-dd形式で返す関数
function formatDate(date) {
return date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + date.getDate()).slice(-2);
}
// 今日
var today = formatDate(new Date());
// 明日
var tomorrow = formatDate(new Date(new Date().setDate(new Date().getDate() + 1)));
// 昨日
var yesterday = formatDate(new Date(new Date().setDate(new Date().getDate() - 1)));
// 7日前
var oneWeekAgo = formatDate(new Date(new Date().setDate(new Date().getDate() - 7)));
// 一ヶ月前
var oneMonthAgo = formatDate(new Date(new Date().setMonth(new Date().getMonth() - 1)));
// 一年前
var oneYearAgo = formatDate(new Date(new Date().setFullYear(new Date().getFullYear() - 1)));
//週番号を計算する
function getWeekNumber() {
const today = new Date();
// 引数のDateと同じ週の木曜日を計算
// 259200000 = 3days * 24hour * 60min * 60s * 1000ms
// 604800000 = 1week * 7days * 24hour * 60min * 60s * 1000ms
const thursday = new Date(
Math.ceil((today.getTime() - 259200000) / 604800000) * 604800000
);
// 木曜日と同じ年の1月1日を計算
const firstDayOfYear = new Date(thursday.getFullYear(), 0, 1);
// 木曜日がその年の第何週かを計算する
const weekOfYear =
Math.floor((thursday.getTime() - firstDayOfYear.getTime()) / 604800000) + 1;
// 曜日をISO 8601に直す (jsは0=日~6=金、ISO 8601は1=月~7=日)
//const dayOfWeek = today.getDay() !== 0 ? today.getDay() : 7;
// yyyy-Www 形式に直す
return `${thursday.getFullYear()}-W${('0' + weekOfYear).slice(-2)}`;
}
const weekNumber = getWeekNumber();
return `日報 ${today}
[nippou.icon] [${today}]
[*_ | 体調]
[*_ | 今日やったこと]
[*_ | 学んだこと・感じたこと]
[*_ | 今の気持ち(5段階評価)]
[*_ | 過去の振り返り]
昨日:[${yesterday}]
7日前:[${oneWeekAgo}]
1ヶ月前:[${oneMonthAgo}]
1年前:[${oneYearAgo}]
翌日→[日報 ${tomorrow}]
[週報 ${weekNumber}]
`;
})()