我应该用HTML5微数据来标记公司的营业时间。 在Google和schema.org上搜索了一下后,我编写了以下代码:
<time itemprop="openingHours" datetime="Mo 13:00-17:30"><span class="day">Maandag:</span> <span class="hours">13:00-17:30</span></time>
<time itemprop="openingHours" datetime="Tu 09:00-17:30"><span class="day">Dinsdag:</span> <span class="hours">09:00-17:30</span></time>
<time itemprop="openingHours" datetime="We 09:00-17:30"><span class="day">Woensdag:</span> <span class="hours">09:00-17:30</span></time>
<time itemprop="openingHours" datetime="Th 09:00-17:30"><span class="day">Donderdag:</span> <span class="hours">09:00-17:30</span></time>
<time itemprop="openingHours" datetime="Fr 09:00-21:00"><span class="day">Vrijdag:</span> <span class="hours">09:00-21:00</span></time>
<time itemprop="openingHours" datetime="Sa 08:30-15:00"><span class="day">Zaterag:</span> <span class="hours">08:30-15:00</span></time>
当我使用Google的结构化数据测试工具检查网站时,我发现结构化数据已被正确识别。 问题是这个赋值的一个要求是它符合W3C的HTML验证器。对于每个时间元素,我得到以下错误。
Bad value Mo 13:00-17:30 for attribute datetime on element time: The literal did not satisfy the time-datetime format.
我明白为什么我会收到这个错误,我没有得到的是我如何以HTML5微数据标记的方式指定我的开放时间,并且根据HTML5验证器它们也是有效的HTML。
希望你们能帮助我解决这个问题。 :)
答案 0 :(得分:4)
W3C HTML Checker的维护者( aka 验证者)在这里。我编写了执行该检查的代码。问题中的值Mo 13:00-17:30
不符合给出the allowed values of datetime
的HTML规范中的规则。
值Mo 13:00-17:30
似乎试图指定一个特殊的时间范围:一周中的某一天加上一个时间范围。
但HTML规范不允许该值采用该格式。它允许的最接近的格式是ISO8601格式duration string。
有效的持续时间字符串:datetime="4h 30m"
。
尽可能接近,因为在HTML规范中,指定持续时间的规则必须是一个小时+分钟+秒的单个表达式。所以:
答案 1 :(得分:1)
我使用data
代替time
- 适用于validator.w3.org
以及www.google.com/webmasters/tools/richsnippets
:
<data itemprop="openingHours" value="Mo-Su 07:00-22:00">7 days a week, 7 am to 22 pm</data>
感谢Hixie关于freenode#whatwg。
答案 2 :(得分:1)
如果datetime
格式导致验证失败,您可以将操作时间放在meta
标记元素中:
<meta itemprop="openingHours" content="Mo,Tu 11..." />
<meta itemprop="openingHours" content="We,Th 12..." />
...
According to the specs,如果meta
元素具有itemprop
属性,则$randomElement = rand(0,$room_number);
$query="SELECT * FROM set_ballot";
$rs= mysqli_query($cn, $query);
while($row = mysqli_fetch_array($rs)) {
$room_number = $row['room_number'];
}
元素将在那里有效。