javascript Date().getTime()不是函数

Thu*_*bit 32 javascript date

我想在javascript中比较一些日期.

由于某种原因,我得到"2012年5月1日16:43:03 GMT + 0900(JST)没有方法'getTime'"

当然,字符串没有方法

我在回调中开始使用此代码,但它在getTime()创建的行上失败了var age:

for (var i = 0; i < array_of_usage_indices.length; i++) {
    store.get(array_of_usage_indices[i]['key'],function(may_need_gc) {
        if(may_need_gc) {
            var now = Date();
            var created = Date(may_need_gc['value']);
            var age = now.getTime()-created.getTime();
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

我已经减少了所以我的示例页面就是这样:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>date test</title>

    </head>

<body>

<script type="text/javascript" charset="utf-8">
            var now = Date();
            alert(now.getTime());
            var t = Date().getTime();
</script>    
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这在Chrome 18.0.1025.168和Firefox 13.0中失败了.

我试过的截图:

截图没有方法'getTime'

截图没有方法'getTime'

所以我的问题:

问心无愧?

我必须使用ParseDate()吗?为什么这不起作用?

Par*_*rma 49

尝试使用new关键字来实例化一个新对象,而不是这样

var now = Date();
Run Code Online (Sandbox Code Playgroud)

试试这个

var now = new Date();
Run Code Online (Sandbox Code Playgroud)


Sim*_*mon 21

您需要使用new运算符来创建Date对象.

(new Date()).getTime()
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.我已经给了Parv绿色支票,因为现在看来你的分数似乎还不错.;-) (6认同)

loy*_*bid 7

这将使'now'作为日期变量类型:

var now = new Date();
Run Code Online (Sandbox Code Playgroud)

这将让你从'now'获得时间:

new Date(now).getTime();
Run Code Online (Sandbox Code Playgroud)