Google 데이터 마크 업이 귀하의 데이터를 인식하도록하려면 다음 지침을 따라야한다는 것을 배웠습니다.
https://schema.org/openingHours
http://schema.org/OpeningHoursSpecification 일부 비즈니스에 매우 유용한 "유효한 날짜"가 포함되어 있습니다.
https://schema.org/docs/search_results.html#q=hours
비즈니스가 조인 테이블과 동일한 시간을 공유하도록 허용하지 않는 한 기본 키 없이도 괜찮습니다. 흥미롭게도 결국에는 제한된 양의 조합을 갖게됩니다. 얼마나 많은지 모르겠습니다 : p
내 프로젝트 중 하나에서 열을 사용했습니다.
[uInt] business_id, [uTinyInt] day, [char (11)] timeRange
OpeningHoursSpecification을 지원하려면 validFrom 및 validThrough를 추가해야합니다.
시간 범위는 hh : mm-hh : mm과 같은 형식입니다.
여기에 그것을 구문 분석하는 함수가 있습니다. DB에 별도의 열로 유지하는 경우 단일 열기 / 닫기 만 구문 분석하도록이 함수를 수정할 수도 있습니다.
내 경험에 비추어 볼 때 하루에 여러 번 허용하고, 그날에 명시 적으로 닫혀 있는지 또는 24 시간 또는 연중 무휴로 열렸는지 알 수있는 방법을 허용하는 것이 좋습니다. DB에 하루가 빠진 날이 있으면 그날 영업이 종료된다고 말했었습니다.
/**
* parseTimeRange
* parses a time range in the form of
* '08:55-22:00'
* @param $timeRange 'hh:mm-hh:mm' '08:55-22:00'
* @return mixed ['hourStart'=>, 'minuteStart'=>, 'hourEnd'=>, 'minuteEnd'=>]
*/
function parseTimeRange($timeRange)
{
// no validating just parsing
preg_match('/(?P<hourStart>\d{1,2}):(?P<minuteStart>\d{2})-(?P<hourEnd>\d{1,2}):(?P<minuteEnd>\d{2})/', $timeRange, $matches);
return $matches;
}