日報テンプレート
/inteltank/sawachin.iconさんに感謝!
code: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}
| 体調
| 今日やったこと
| 学んだこと・感じたこと
| 今の気持ち(5段階評価)
| 過去の振り返り
`;
})()