46

javascriptでいくつかの日付を比較しようとしています。

何らかの理由で、「Tue May 01 2012 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();
        }
    })
}

私はそれを減らしたので、私の例のページは文字通りこれだけです:

<!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>

これは、Chrome18.0.1025.168およびFirefox13.0では失敗します。

私が試したもののスクリーンショット:

スクリーンショットメソッドなし'getTime'

スクリーンショットメソッドなし'getTime'

だから私の質問:

wth?

ParseDate()を使用する必要がありますか?なぜこれが機能しないのですか?

4

3 に答える 3

62

newこれの代わりにキーワードを使用して新しいオブジェクトをインスタンス化してみてください

var now = Date();

これを試して

var now = new Date();
于 2012-05-01T08:24:14.137 に答える
28

newDate オブジェクトを作成するには、演算子を使用する必要があります。

(new Date()).getTime()
于 2012-05-01T08:22:39.797 に答える