Safari,IE中的日期问题

时间:2014-02-07 14:21:58

标签: javascript jquery datetime safari nan

我正在尝试在我的网站上获取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;

2 个答案:

答案 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); ** /