2014-04-05 40 views
0

为什么日期和时间不适用于此语法?日期对象toLocaleString不能正常工作

<script> 

    Date.prototype.addHours = function (h) { 
     this.setHours(this.getHours() + h); 
     return this; 
    }; 

    $(document).ready(function() { 
     $("#countdown").countdown({ 
      date: Date.addHours(1).toLocaleString(), 
      format: "on" 
      }, 

      function() { 

       // callback function 
      }); 
    }); 

</script> 

但这完全正常工作:

<script> 

    Date.prototype.addHours = function (h) { 
     this.setHours(this.getHours() + h); 
     return this; 
    }; 

    $(document).ready(function() { 
     $("#countdown").countdown({ 
      date: "4/5/2014 12:13:16 PM", 
      format: "on" 
      }, 

      function() { 

       // callback function 
      }); 
    }); 

</script> 

的变化是关于date属性。 FYI

+0

因为'日期'没有'addHours'方法。只有*实例*的'日期'做。要了解有关原型继承的更多信息,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain –

回答

1

Date是构造函数,你需要的,如果

$("#countdown").countdown({ 
    date: (new Date()).addHours(1).toLocaleString(), 
    format: "on" 
    }, 

不知道这是相当重要的new实例,但请注意,并非所有用户都会得到相同的字符串返回从toLocaleString()