时间戳是以特定格式表示的日期(可附带时间或时间区间), 形如 ‘<2003-09-16 Tue>’ 、 ‘<2003-09-16 Tue 09:39>’ 或 ‘<2003-09-16 Tue 12:00-12:30>’60。 时间戳可以出现在 Org 树形条目的标题或正文中的任意位置。 它会让对应条目显示在日程表中的指定日期(见 Weekly/daily agenda)。 主要分为以下几类:
普通时间戳仅为条目分配一个日期/时间, 就像在纸质日程本上记下约会或事件一样。 在日程视图中,带有普通时间戳的条目标题 会精确显示在对应日期上。一个条目可以包含多个时间戳。
* Meet Peter at the movies <2006-11-01 Wed 19:15> * Discussion on climate change <2006-11-02 Thu 10:00-12:00> * My days off <2006-11-03 Fri> <2006-11-06 Mon>
时间戳可以包含 重复周期(repeater interval) ,表示它不仅适用于指定日期, 还会在每隔 N 小时(h)、天(d)、周(w)、月(m) 或年(y)后重复出现。下例每周三都会在日程表中显示:
* Pick up Sam at school <2007-05-16 Wed 12:30 +1w>
对于更复杂的日期规则,Org mode 支持使用 Emacs Calendar package 中实现的特殊表达式日记条目61。 例如,带可选时间的写法:
* 22:00-23:00 The nerd meeting on every 2nd Thursday of the month <%%(diary-float t 4 2) 22:00-23:00>
时间区间是由 ‘-’ 连接两个时间单位的时间戳。
* Discussion on climate change <2006-11-02 Thu 10:00-12:00>
由 ‘--’ 连接的两个时间戳表示一个时间段。 在日程表中,条目标题会显示在区间的第一天、最后一天, 以及区间内所有被展示的日期上。第一个示例只指定日期区间, 第二个示例则为每一天指定了时间区间。
** Meeting in Amsterdam <2004-08-23 Mon>--<2004-08-26 Thu> ** This weeks committee meetings <2004-08-23 Mon 10:00-11:00>--<2004-08-26 Thu 10:00-11:00>
格式与普通时间戳类似,但使用方括号而非尖括号。 这类时间戳为 非活动 状态, 不会 让条目显示在日程表中。
* Gillian comes late for the fifth time [2006-11-01 Wed]
Org 日期格式参考标准 ISO 8601 日期/时间格式。如需使用其他格式,参见 Custom time format。手动输入日期时星期名为可选项,而 Org 自动插入或修改的日期会添加该名称以便阅读。
使用标准日记表达式函数时需格外注意参数顺序,其顺序受变量 calendar-date-style 影响。例如指定 2005 年 12 月 1 日,调用形式可能为 ‘(diary-date 12 1 2005)’ 、 ‘(diary-date 1 12 2005)’ 或 ‘(diary-date 2005 12 1)’ ,极易造成混淆。Org 模式用户可使用专用函数 org-date 、 org-anniversary 、 org-cyclic 、 org-block ,用法与对应 diary- 函数一致,但参数固定为 ISO 顺序(年、月、日),不受 calendar-date-style 影响。