Угадайте полную дату на основе неполной даты, введенной в JavaScript - PullRequest
0 голосов
/ 14 июля 2011

Выполнение некоторого кода в JavaScript / jQuery, и мне нужно, чтобы он мог вводить частично неполную строку даты и JavaScript должен вычислять полную дату.

Например, если пользователь вводит «5/24», он должен возвращать «24.05.2011» (текущий год). Если пользователь вводит «24.05.2004», он должен вернуть именно это.

duedate = Date.parse(qadueparse);
duedatelit = new Date(duedate);
duedatelit = Number(duedatelit.getMonth()+1) + '/' + 
    Number(duedatelit.getDate()) + '/' + Number(duedatelit.getFullYear());

Этот приведенный выше код работает, когда пользователь вводит полную строку, однако он, похоже, облажается, когда пользователь вводит "5/24" или какую-то другую частичную строку. Возвращает 2001 год.

Кто-нибудь может мне помочь?

Еще раз обращаюсь к StackOverflow для моих нужд программирования; Спасибо всем в этом энергичном сообществе за поддержку друг друга.

1 Ответ

0 голосов
/ 14 июля 2011

Объект даты может принять деконструированную дату для создания экземпляра:

var d = new Date(2011, 7, 13, 15, 59, 0); // Jul 13th, 3:59:00pm

Вы можете разорвать частичную дату и заполнить пробелы самостоятельно. Однако что такое 3/7? 7 марта? 3 июля? Хуже того, 3/5/7 - какой год, какой месяц, какой день?


комментарий:

Если это всегда m / d, то вы просто делите на /, давая вам значения m и d.

provided = '5/24';
parts = provided.split('/');

month = parts[0]; // 5
day = parts[1]; // 24

today = new Date();

your_date = new Date(today.getFullYear(), month, day); // new date object for 2011/5/24
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...