HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📌
hkob's Notion
/
ℹ️
逆引きFormula 2.0
/
💾
Database storage
/
📅
週番号からその週の月曜日の日付を取得するには
📅

週番号からその週の月曜日の日付を取得するには

Status
Update by 2.0
関数説明
📓
now
📓
formatDate
📓
parseDate
📓
dateSubtract
📓
day
📓
-, subtract
📓
week
📓
dateAdd
属性名
週初めの月曜日
返り値
Date
関連するもの
📅
週の初めの月曜日の日付を得るには?
📅
日付・週(日曜始まり)・週(月曜始まり)・月・クオータを一意に示す文字列を作成するには?
ℹ️
逆引きFormula 2.0
に戻る
Notion しゅふ会にて以下の質問がありました。
週番号から、その週の月曜日の日付を取得するフォーミュラって、どう書いたらいいのでしょう?
週は月曜始まりで、年はその年のものでいいという話だったので、すでに存在する二つの逆引き記事を紹介しました。
  1. 📅
    週の初めの月曜日の日付を得るには?
  1. 📅
    日付・週(日曜始まり)・週(月曜始まり)・月・クオータを一意に示す文字列を作成するには?
後者のものを使って、今日の曜日番号を取得できるので、その数値と与えられた週番号との差分を使うと計算できそうです。面白そうなので、この記事も作ることにしました。一つだけ懸念があって、1/1 が月曜日でなければ、前の年の日付が月曜日になるので、週番号が 53 になります。1 だけは次の年の月曜日が出てしまう可能性もありそうです。
  1. 今週の月曜日を取得したのちに週番号との差分を加算する
    1. lets( /* 現在時刻から今日の日付を作成し、変数 td に代入 */ td, now().formatDate("YYYY-MM-DD").parseDate(), /* td から曜日を減算し、今週の月曜日の日付を作成し、変数 md に代入 */ md, td.dateSubtract(td.day() - 1, "days"), /* md からその週の週番号を計算し、変数 wn に代入 */ wn, md.week(), /* 週番号プロパティとの週差分を調整 */ md.dateAdd(prop("週番号") - wn, "weeks") )
      →
      📓
      now
      📓
      formatDate
      📓
      parseDate
      📓
      dateSubtract
      📓
      day
      📓
      -, subtract
      📓
      week
      📓
      dateAdd
  1. parseDate を調べていたら週番号で日付が作れることがわかった。上の苦労はなんだったのか
    1. /* 週番号を二桁にした文字列を wnum にする */ let(wnum, /* 週番号に100を足したものを3桁の文字列に変換 */ (prop("週番号")+100).format() /* 先頭の1を外して2桁の数字にする -> wnum に代入 */ .substring(1), /* 現在の年と週番号を -W を使って連結 (例: 2023W01) */ [now().year(), wnum].join("W") /* ISO8601 の週番号文字列を日付に変換 */ .parseDate() )
週番号→月曜日の日付
名前
週番号
週初めの月曜日
週初めの月曜日(parseDate)
1週目
1
2週目
2
52週目
52