如何用MS Word域代码获取下周一日期(含当日为周一的特殊情况)
在Word 2021中用域代码插入下一个周一的日期
实现步骤
- 打开目标Word文档,光标定位到要插入日期的位置
- 按下快捷键
Ctrl + F9插入域专用的大括号(注意:不能手动输入大括号,必须用快捷键生成) - 在大括号内粘贴以下完整域代码:
{ QUOTE { IF { = WEEKDAY(NOW(),2) } = 1 "{ DATE \@ "yyyy年MM月dd日,dddd" }" "{ DATE \@ "yyyy年MM月dd日,dddd" \d +"={=8-WEEKDAY(NOW(),2)}" }" } }
代码逻辑说明
WEEKDAY(NOW(),2):将周一设为一周的第1天、周日为第7天,方便直观判断当前日期是否为周一- 条件判断:
- 如果当天是周一(
WEEKDAY返回值为1),直接显示当天日期,格式为「yyyy年MM月dd日,dddd」 - 如果当天不是周一,计算需要向后偏移的天数:
8-WEEKDAY(NOW(),2),比如周四(返回4)则加4天到下周一,周日(返回7)则加1天到下周一
- 如果当天是周一(
\d +"={=...}":给DATE域指定动态偏移天数,自动计算出下一个周一的日期
更新与自动刷新
- 插入后选中域内容,按下
F9即可立即更新到正确日期 - 若要文档每次打开自动更新该日期:依次点击「文件」→「选项」→「显示」,勾选「打印前更新域」;也可右键域→「编辑域」,勾选「更新时保留原格式」避免格式错乱
内容的提问来源于stack exchange,提问作者MartySmartyPants
相关产品推荐
相关产品推荐

