Javascript第一次的日期无效

Javascript invalid date first time

本文关键字:无效 日期 第一次 Javascript      更新时间:2023-12-13

我有以下代码。当代码第一次运行时,它会在第三行创建一个无效的。当我调试代码时,我发现rowObj.$$lastModifiedTime的值为:13854354848。当我把这个数字放在jsfidd.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 '';
}

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