JavaScript书签制作需求:自动填充本周日及下周六日期
自动生成当周周日至下周六日期的JavaScript书签解决方案
直接可用的书签代码
复制下面的完整代码,作为书签的网址即可:
javascript:(function(){ // 格式化日期为YYYY-MM-DD格式 function formatDate(date) { const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); return `${year}-${month}-${day}`; } const today = new Date(); // 计算当周周日:今天减去当前星期几的天数(周日是0,周六是6) const sunday = new Date(today); sunday.setDate(today.getDate() - today.getDay()); // 计算下周六:周日加上6天 const nextSaturday = new Date(sunday); nextSaturday.setDate(sunday.getDate() + 6); // 替换成你的目标网址模板,对应你给的示例格式 const targetUrl = `website.com/${formatDate(sunday)}/info/${formatDate(nextSaturday)}/stuff`; // 在当前标签页打开目标网址 window.location.href = targetUrl; })();
添加到浏览器的步骤
- 打开浏览器书签栏(按
Ctrl+Shift+B快速显示/隐藏) - 右键点击书签栏空白处,选择「添加书签」(不同浏览器 wording 略有差异,比如Chrome是「添加书签」,Firefox是「新建书签」)
- 书签名称随便填(比如「本周数据页」)
- 把上面复制的代码粘贴到「网址」(或「URL」)输入框,保存即可
代码关键说明
- 日期格式化:用
padStart(2, '0')自动给月份、日期补0,确保是两位数字(比如2月变成02,4号变成04) - 计算周日:
today.getDay()返回当前星期几(0=周日,1=周一…6=周六),用今天的日期减去这个数字,就能回到当周周日 - 计算下周六:周日加6天就是当周最后一天(下周六)
- 网址修改:你可以直接替换
targetUrl里的website.com和路径,只要保留${formatDate(sunday)}和${formatDate(nextSaturday)}这两个日期占位符就行
旧代码的问题修正
你的旧代码存在几个关键问题:
- 用了已废弃的
getYear(),应该用getFullYear()(getYear()返回当前年份减1900,比如2024会返回124) - 语法错误:
'-' d处少了加号,正确写法是'-' + d - 缺少计算当周周日和下周六的逻辑,只是用了当天日期
内容的提问来源于stack exchange,提问作者Bronson
相关产品推荐
相关产品推荐

