generated at
日報テンプレート
さわちん流振り返りの日報のテンプレートに適宜手を加えたもの
sawachinさんに感謝!

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}] `; })()