我正在尝试为 Google 日历创建活动,但收到此错误:
Invalid value for: "T" found, can only parse bare date string: 2013-08-22T16:00:00
我还尝试将时区偏移添加到我的字符串中,但我在 EventDateTime 对象中手动设置时区,根据文档,这不是必需的。
这是我创建时间字符串的方法:
data['start'] = $("#inputDateStart").val() + "T" + $("#inputTimeStart").val();
以及我如何在我的对象中设置这个字符串
$start = new Google_EventDateTime();
$start->setTimeZone('America/Montreal');
$start->setDateTime($data['start']);
$event->setStart($start);
我缺少什么?当我使用 setDate 函数设置日期时,全天事件工作正常。
我不知道你的完整代码,但是当我尝试在 Google 日历活动上设置日期时间时,我收到了相同的错误消息。当我使用 Google 在线 api 检查器时,我使用的日期/时间格式和时区工作得很好。最后我发现问题是因为我这样做了(使用类似于你的符号的东西):
$start = new Google_EventDateTime();
$start->setDate('2013-10-10');
$event->setStart($start);
后来发现我有可用的日期和时间数据:
$start->setTimeZone('Europe/London');
$start->setDateTime('2013-10-10T19:15:00');
$event->setStart($start);
这给了我你提到的错误消息。也许谷歌解析器认为这只是一天的事件,然后被额外的日期/时间数据混淆了。
当我首先检查我是否有日期和时间数据并执行以下操作时,问题就消失了:
$start = new Google_EventDateTime();
$start->setTimeZone('Europe/London');
$start->setDateTime('2013-10-10T19:15:00');
$event->setStart($start);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)