在食谱微数据中标记不精确的持续时间

Marking imprecise durations in recipe microdata

标记菜谱的烹调方法很容易,或者 preparation time 如果是针对特定时间范围的:

Prep time: <time datetime="PT30M" itemprop="prepTime">30 min</time>
Cook time: <time datetime="PT1H" itemprop="cookTime">1 hour</time>

但是,许多食谱改用估计持续时间:

Prep time: 10-30 minutes
Cook time: 1 - 1½ hours

that'll be picked up by Google? From what I can tell, the ISO 8601 duration format 似乎不支持 "fuzzy" durations/duration 范围的方式标记此信息的最佳方式是什么。

插入时间范围很诱人,因此机器可读值位于人类可读 min/max 值的中间:

Prep time: <time datetime="PT20M" itemprop="prepTime">10-30 minutes</time>

Humans see:           10-30 minutes
Google/machines see:  20 minutes

尽管如此,这感觉很老套和被迫,而且感觉就像我为了 SEO 向搜索引擎提供了不正确的数据和细节。

简短回答:我认为当前指定的 time 元素没有提供任何指定“模糊”持续时间的好方法。

更长的答案

这是 HTML 规范中 time 元素的当前定义中的已知 issue/limitation。对此进行了讨论,并提出了一些关于扩展 time 范围以解决该用例的建议;见 https://wiki.whatwg.org/wiki/Time_element#Fuzzy_dates

最有吸引力的提议是向 time 添加一个 certainty 属性,这样您就可以执行以下操作:

Prep time: <time datetime="PT20M" certainty="10M">10-30 minutes</time>

除了 certainty 属性的想法外,还讨论了更新实际时间格式的规范以包括使用 ?~ 字符来指定近似值的方法;见 http://www.loc.gov/standards/datetime/pre-submission.html#uncertain

无论如何,目前还没有就任何提议的解决方案达成一致,所以要点仍然是不幸的是还没有任何标准的方式来表达模糊持续时间——我认为也没有任何非常好的解决方法比问题中提到的那个。