Javascript 根据忙/闲通话更改图像
我想通过显示“打开”和“关闭”图像来显示企业何时“打开”或“关闭”。诀窍是,我希望根据谷歌日历上的忙/闲通话获取信息。到目前为止,页面本身正在获取正确的信息——问题是,当我使用JavaScript打包数据时,当前时间是正确的,“忙碌”事件的结束时间是正确的,但是开始时间显示在应该的6小时之前,我不知道为什么或如何更正它 因此,PHP目前:Javascript 根据忙/闲通话更改图像,javascript,php,css,Javascript,Php,Css,我想通过显示“打开”和“关闭”图像来显示企业何时“打开”或“关闭”。诀窍是,我希望根据谷歌日历上的忙/闲通话获取信息。到目前为止,页面本身正在获取正确的信息——问题是,当我使用JavaScript打包数据时,当前时间是正确的,“忙碌”事件的结束时间是正确的,但是开始时间显示在应该的6小时之前,我不知道为什么或如何更正它 因此,PHP目前: <!-- Google Calendar for The Commons --> <?php date_default_timezone_
<!-- Google Calendar for The Commons -->
<?php
date_default_timezone_set("GMT");
$request = array(
'items' => array(
array('id' => 'REMOVED FOR PRIVACY'),
),
'timeMin' => date('c'),
'timeMax' => date('c', strtotime('+2 month')),
);
$curl = curl_init();
$options = array(
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HEADER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_TIMEOUT => 10,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($request),
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Content-Length: ' . strlen(json_encode($request))
),
CURLOPT_URL =>
'https://www.googleapis.com/calendar/v3/freeBusy?fields=calendars&key=REMOVED FOR PRIVACY',
CURLOPT_USERAGENT => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10;rv:36.0) Gecko/20100101 Firefox/36.0',
);
curl_setopt_array($curl, $options);
$result = curl_exec($curl);
curl_close($curl);
echo $result;
第1部分)
如果数据偏移到另一个时区,您可能希望在输入的过程中对其进行调整。无论是您的时区,还是GMT。默认时区指示日期/时间函数的工作方式,它们不会神奇地转换日期和时间。你需要使用已知的偏移量来处理这个问题
您需要注意的是:
var currentTime = new Date().getHours();
<>你可能想考虑从PHP传递这个值,而不是客户机。TZ的问题出现在执行计算时。否则,它只是某个时间点的表示
第2部分)
这看起来是一个错误的比较:
if ("start" < currentTime && currentTime < "end")
if(“开始”
假设您希望从数据对象启动。所以<代码>数据。开始
。。。该对象/数组的结构不是100%清楚。使用您的控制台。记录调用以确保您的比较符合犹太标准。感觉可能你也错过了一个循环?数据
不是插槽的集合吗?否则方法看起来不错。这是我在想的一件事,我该如何纠正它?我想说同样的话,但它看起来像是在比较字符串而不是值
if ("start" < currentTime && currentTime < "end")