模板、日期与时间
这个 拉取请求 很清楚地展示了:如果文档写得不够好,会发生什么。简而言之,这篇文章讲的是 模板,以及当相关内容没有被记录下来时,人们会如何开始想出各种有创意的方法来解决问题。假设我们想获取当前年份,可以使用下面几种方法:
- 使用
rest传感器 和value_template:去查询 JSON Test。 - 使用
time_date传感器 和模板 ``。 - 用任意语言写一个脚本,然后配合
command传感器 使用,或者直接把date +"%Y"作为command:。
我们当然希望事情更简单,对吧?模板 提供了 now() 和 utcnow()。这篇博客里我们用 now() 举例,但同样也适用于 utcnow()。我们的文档当时是这样写的:
`now()` 会渲染为你所在时区的当前时间。
嗯,......好吧,算是个开始。那要怎么拿到年份呢? 会返回 `2017-10-14 20:27:23.700401+02:00`,这比我们真正想要的内容多得多。作为用户,你并不想一头扎进代码里,但答案其实就在那里。 返回的是一个 Python datetime 对象。这意味着你在模板里可以访问到比想象中更多的内容:
- 时间相关:
now().microsecond、now().second、now().minute和now().hour - 日期相关:
now().day、now().month和now().year - 其他:
now().weekday()和now().isoweekday()
如果是年份,就可以写成:``。我猜 now().resolution、now().min 和 now().max 也会有一些比较少见的使用场景。
Hacktoberfest 还在进行中。参与文档工作其实很简单。如果你知道什么不错的技巧,想帮忙改进某个平台页面,或者只是修正一个拼写错误,都欢迎参与。我们的网站和文档部分里列出了一些要求,这些要求定义在文档规范中,而「创建页面」文档里还有其他有用的细节。
感谢 Egor Tsinko 让我们注意到这个问题。

