我正在尝试在我的网站上获取Google日历活动,并已成功实施。但当我检查SAFARI时,它显示日期的 NaN 和月份的未定义。下面是我的代码,我只是粘贴了我的整个代码副本。
我正在编辑我的问题,因为我发现了问题:所以下面是问题,修复就在答案中。
for (var i = 0; i < eventArray.length; i++) {
startDate = eventArray[i].start.date || eventArray[i].start.dateTime;
endDate = eventArray[i].end.date || eventArray[i].end.dateTime;
summary = eventArray[i].summary;
description = eventArray[i].description;
htmlLink = eventArray[i].htmlLink;
event_location = eventArray[i].location;
eventStartDate = new Date(startDate);
eventEndDate = new Date(endDate);
var isExist=false;
答案 0 :(得分:1)
你看起来有一个问题。
function getDateLowerLimit() {
var todayDate;
if (dateLowerlimit == "") {
todayDate = new Date();
dateLowerlimit = todayDate.getFullYear() + "-" + (todayDate.getMonth() < 10 ? '0' : '') + (todayDate.getMonth() + 1) + "-" + (todayDate.getDate() < 10 ? '0' : '') + todayDate.getDate() + "T00:00:00+00:00"
} else {
todayDate = new Date(dateLowerlimit)
}
}
如果dateLowerlimit
不是空字符串,则todayDate
在函数范围内设置,但永远不会返回或使用它。
答案 1 :(得分:0)
以下是答案:
for (var i = 0; i < eventArray.length; i++) {
startDate = eventArray[i].start.date || eventArray[i].start.dateTime;
endDate = eventArray[i].end.date || eventArray[i].end.dateTime;
summary = eventArray[i].summary;
description = eventArray[i].description;
htmlLink = eventArray[i].htmlLink;
event_location = eventArray[i].location;
/ * 对于safari,我们必须单独取出日期,月份和年份,因为我在startDate中获取日期,因此我将其分开并继续进行* /
var parts = startDate.match(/(\d+)/g);
eventStartDate = new Date(parts[0], parts[1]-1, parts[2])
/ **这里是我之前遇到的Safari无效日期问题eventStartDate = new Date(startDate); ** /