Установите время в Jquery с часами и минутами, значения читаются из переменных - PullRequest
0 голосов
/ 24 апреля 2019

Я пишу приложение для напоминаний, и мне нужно установить даты с годами, месяцами, днями, часами и минутами!Все это должно происходить из разных полей ввода и конвертироваться в одну дату.Все работает нормально, пока я не использую только годы, месяцы и дни, но как только я пытаюсь добавить часы и минуты, я получаю сообщение об ошибке «неверная дата» в консоли.

HMTL

      Esemény ideje (év): <input type="text" id="year">
        <br>
        Esemény ideje (hónap): <input type="text" id="month">
        <br>
        Esemény ideje (nap): <input type="text" id="day">
        <br>
        Esemény ideje (óra): <input type="text" id="hour">
        <br>
        Esemény ideje (perc): <input type="text" id="minute">

JQ

  let year=$("#year").val();
  let month=$("#month").val();
  let day=$("#day").val();
  let hours=$("#hour").val();
  let minutes=$("#minute").val();
  let time = new Date(year+","+month+","+day+","+hours+","+minutes)
  console.log(time);

Ответы [ 3 ]

0 голосов
/ 24 апреля 2019

Я думаю, что вам не хватает второй части. Попробуйте следующее и убедитесь, что ваши входы имеют тип Number

let time = new Date(year+","+month+","+day+","+hours+","+minutes+"00")
console.log(time);
0 голосов
/ 25 апреля 2019

У вас уже есть все компоненты даты;нет необходимости объединять их в строку (что хрупкий алгоритм разбора даты в любом случае захлебнется).Используйте Date 2 + -аргументный конструктор :

new Date(+year, +month - 1, +day, +hours, +minutes);

* + s преобразует строковые значения ваших переменных в числа и month - 1 необходимо, потому что значения месяца в JavaScript индексируются 0: январь равен 0, декабрь - 11.

0 голосов
/ 24 апреля 2019

Попробуйте этот формат

let time = new Date(month+"/"+day+"/"+year+"/"+" "+hours+":"+minutes+":00")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...