在模板中,日期相关的用法比较常用,希望能输出今日日期、明天日期、这一周的日期范围,以方便进行日程管理,或查询特定日期的笔记。
今日日期和星期
<!-- 返回今天日期和星期 英文 -->.action{ now | date "2006.01.02 Mon "}<!-- 返回今天日期和星期 中文 -->.action{$ini_date := toDate "2006.01.02" "2021.05.02"}.action{$now_date := now}.action{$subdays := mod (div ($now_date.Sub $ini_date).Hours 24) 7}.action{$today := last (slice (list "星期一" "星期二" "星期三" "星期四" "星期五" "星期六" " 星期日") 0 $subdays)}.action{now | date "2006.01.02"} .action{$today}
过去几天的日期
.action{/*返回今天过去几天,修改date_modify 后的小时数*/}.action{(now | date_modify "-72h")| date "2006.01.02 Mon"}
返回这一周的日期范围
.action{$ini_date := toDate "2006-01-02" "2021-05-02"}.action{$now_date := now}.action{$day := mod (div ($now_date.Sub $ini_date).Hours 24) 7}.action{if eq $day 0}.action{$day = 7}.action{end}.action{$leftday :=mul (sub $day 1) 24}.action{$rightday :=mul (sub 7 $day) 24}.action{$leftHour :=nospace (cat "-" $leftday "h") }.action{$rightHour :=nospace (cat "+" $rightday "h")}.action{(now | date_modify $leftHour) | date "2006.01.02"} ~ .action{(now | date_modify $rightHour) | date "2006.01.02"}
正数日
例如正数2022年已过几天,自定义正数日只需要改ini_date后的日期。
.action{$ini_date := "2022-01-01"}.action{$countdown := (div (now.Sub (toDate "2006-01-02" $ini_date)).Hours 24)}2022年已过 .action{$countdown} 天
倒数日
例如倒数2023年还有几天,自定义倒数日只需要改ini_date后的日期。
.action{$ini_date := "2023-01-01"}.action{$countdown := (div ((toDate "2006-01-02" $ini_date).Sub now).Hours 24)}距离2023年还有 .action{$countdown} 天
