.replace()不工作。给出错误.replace不是一个功能

时间:2014-06-07 10:14:23

标签: javascript datetime-format

我已经编写了一个javascript函数来转换12小时格式的时间

function formatDate(nwdate) {
    var d = new Date(nwdate);
    var hh = d.getHours();
    var m = d.getMinutes();
    var s = d.getSeconds();
    var dd = "AM";
    var h = hh;
    if (h >= 12) {
        h = hh-12;
        dd = "PM";
    }
    if (h == 0) {
        h = 12;
    }
    m = m<10?"0"+m:m;

    s = s<10?"0"+s:s;


    var pattern = new RegExp("0?"+hh+":"+m+":"+s);

    var replacement = h+":"+m;
    replacement += " "+dd;
    return nwdate.replace(pattern,replacement);
}

它给出了一个错误,即.replace不是一个函数。那是为什么?

1 个答案:

答案 0 :(得分:2)

问题是对象nwdate不是字符串。作为一个黑客,你可以试试这个:

(""+nwdate).replace(pattern, replacement);

然而,这非常取决于用户的系统。