Php 使用facebook图表小时数检查一个地方是否开放或关闭
我正在使用facebook graph api,并获得以下JSON数据:Php 使用facebook图表小时数检查一个地方是否开放或关闭,php,facebook-graph-api,Php,Facebook Graph Api,我正在使用facebook graph api,并获得以下JSON数据: "hours": { "mon_1_open": "21:00", "mon_1_close": "05:00", "tue_1_open": "21:00", "tue_1_close": "05:00", "wed_1_open": "21:00", "wed_1_close": "05:00", "thu_1_open": "21:0
"hours": {
"mon_1_open": "21:00",
"mon_1_close": "05:00",
"tue_1_open": "21:00",
"tue_1_close": "05:00",
"wed_1_open": "21:00",
"wed_1_close": "05:00",
"thu_1_open": "21:00",
"thu_1_close": "05:00",
"fri_1_open": "21:00",
"fri_1_close": "05:00",
"sat_1_open": "21:00",
"sat_1_close": "05:00",
"sun_1_open": "21:00",
"sun_1_close": "05:00"
}
我正在使用PHP获取我的信息,我想不出一种方法来通过上面的JSON数据检查这个(和其他地方)是打开还是关闭的
到目前为止,我没有做的只是将上述数据更改为:
星期一:21:00-05:00
星期二:21:00-05:00
等等
有人对如何做有什么建议吗?这可能会给你一个想法:
<?php
$jd = cal_to_jd(CAL_GREGORIAN,date("m"),date("d"),date("Y"));
$presentday = jddayofweek($jd,1);
$opentime = "";
$closetime = "";
switch($presentday) {
case 'Monday':
$opentime = date("g:i a", strtotime($hour_mon_open));
$closetime = date("g:i a", strtotime($hour_mon_close));
break;
case 'Tuesday':
$opentime = date("g:i a", strtotime($hour_tue_open));
$closetime = date("g:i a", strtotime($hour_tue_close));
break;
case 'Wednesday':
$opentime = date("g:i a", strtotime($hour_wed_open));
$closetime = date("g:i a", strtotime($hour_wed_close));
break;
case 'Thursday':
$opentime = date("g:i a", strtotime($hour_thu_open));
$closetime = date("g:i a", strtotime($hour_thu_close));
break;
case 'Friday':
$opentime = date("g:i a", strtotime($hour_fri_open));
$closetime = date("g:i a", strtotime($hour_fri_close));
break;
case 'Saturday':
$opentime = date("g:i a", strtotime($hour_sat_open));
$closetime = date("g:i a", strtotime($hour_sat_close));
break;
case 'Sunday':
$opentime = date("g:i a", strtotime($hour_sun_open));
$closetime = date("g:i a", strtotime($hour_sun_close));
break;
default:
break;
}
$currentHours = date("g:i a", time());
$date1 = DateTime::createFromFormat('H:i a', $currentHours);
$date2 = DateTime::createFromFormat('H:i a', $opentime);
$date3 = DateTime::createFromFormat('H:i a', $closetime);
if ($date1 > $date2 && $date1 < $date3) {
echo "Open now";
} else {
echo "Closed now";
}
?>
希望有帮助:)