[angular-ui datepicker指令]中的date()返回昨天的日期

时间:2015-08-28 13:17:46

标签: javascript angularjs datepicker angular-ui

我有使用angular-ui datepicker directive的日期选择器,但是当我选择一个日期时,它会在前一天显示我。并通过控制台尝试,结果仍然存在。

我不明白这个问题背后的主要原因。

Date

3 个答案:

答案 0 :(得分:2)

Date构造函数仅在传递字符串时识别几种格式。您需要使用Date.parse来识别更多格式,并生成传入日期字符串的表示形式,作为自Epoch以来的毫秒数,而构造函数将接受该数字,并生成所需的日期对象。 / p>

var date = new Date(Date.parse("2015-07-27T22:00:00.000Z"));

答案 1 :(得分:0)

documentation指定您需要将日期作为

传递
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);

所以你应该把它传递给:

new Date(2015,07,27,22,00,00,0000000000);

或者你需要使用Date.parse来正确解析日期。

旁注: moment.js可以解决所有这些问题。

答案 2 :(得分:0)

可能看起来对你有用

      <!doctype html>
     <html lang="en">
          <head>
        <meta charset="utf-8">
      <title>jQuery UI Datepicker - Display month &amp; year menus</title>
      <link rel="stylesheet" 
    href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
        <script src="//code.jquery.com/jquery-1.10.2.js"></script>
      <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
       <link rel="stylesheet" href="/resources/demos/style.css">
     <script>
      $(function() {
       $( "#datepicker" ).datepicker({
         changeMonth: true,
  changeYear: true
      });
         });
    </script>
    </head>
     <body>

   <p>Date: <input type="text" id="datepicker"></p>


  </body>
     </html>