Javascript第一次无效日期

时间:2013-11-29 23:57:28

标签: javascript debugging datetime-format

我有以下代码。当代码第一次运行时,它会在第三行创建无效。当我调试代码时,我发现rowObj.$$lastModifiedTime的值是: 1385433554848 。 当我将此数字放在 jsfiddle.net 中并运行代码时,它会创建日期对象。因此,我很困惑这里发生了什么。我在调试代码时遗漏了什么? 我感谢你花时间和精力回答我的问题。

_getLastUpdated: function(rowObj) {
    if(rowObj && rowObj.$$lastModifiedTime) {
        var lastUpdated = new Date(parseInt(rowObj.$$lastModifiedTime, 10)); //this line gives invalid date the first time it runs
        lastUpdated.setMilliseconds(lastUpdated.getMilliseconds() + utils.Utils.instance().getServerTimeDifference(lastUpdated));
        var locale = utils.Utils.instance().getLocale();
        var dateFormatString = utils.Utils.instance().getLocaleDateString(locale)+" hh:MM:ss TT";
        var dateString = utils.Utils.instance().dateFormat(lastUpdated,dateFormatString);               
        return dateString;
    }
    return '';
}

1 个答案:

答案 0 :(得分:0)

  

错误在getServerTimeDifference(lastUpdated)中,它返回了一个对象而不是一个数字。这整个js是一个动态脚本,所以我会从稍后的函数调用dateFormat()返回到_getLastUpdated()。日期创建正常,但在添加毫秒时损坏了。但是,在调试器中,当我从_getLastUpdated()中的dateFormat()函数调用回来时,它向我显示lastUpdated对象即使在创建时也已损坏。