date () в [angular-ui datepicker директива] возвращает вчерашнюю дату

0

У меня есть выбор даты с помощью директивы datepicker с угловым ui, однако, когда я выбираю дату, она показывает мне предыдущий день. И попробовал это через консоль, результат остается.

Я не понимаю основную причину этой проблемы.

Изображение 174551

  • 0
    Вы выбираете правильную дату, но угловое преобразование даты в зависимости от часового пояса, выбрав дату как время 22: 00: 00.000Z, и вы получите GMT + 0200, т.е. 22 + 2, т.е.
Теги:
datepicker
angular-ui

3 ответа

2
Лучший ответ

Конструктор Date распознает только несколько форматов, когда ему передается строка. Вам нужно использовать Date.parse, который распознает намного больше форматов и создает представление прошедшей в строке даты числа миллисекунд с момента Epoch, которое, в свою очередь, будет приниматься конструктором и создаст желаемый объект даты.

var date = new Date(Date.parse("2015-07-27T22:00:00.000Z"));
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>
0

В документации указано, что вам нужно передать дату как

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

Поэтому вы должны передать это как:

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

или вам нужно использовать Date.parse для правильной обработки даты.

На стороне примечание: moment.js хорошо справляется со всеми этими проблемами.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню