Сравнение времени и даты в JavaScript - PullRequest
0 голосов
/ 18 ноября 2011

Допустим, есть два текстовых поля: одно для ввода даты, а другое для ввода во времени. Ниже приведен пример:

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

Example of how date is displayed: 25-05-1995

<p><strong>Time:</strong> <input type="text" id="timetxt"></p>

Example of how time is displayed: 14:25

Может кто-нибудь предложить способ в javascript для сравнения значений даты и времени из текстовых полей с текущими датой и временем, поэтому, если текущая дата и время после даты и времени, введенных в текстовых полях, то он должен отображать и предупредит

Ответы [ 2 ]

1 голос
/ 18 ноября 2011

Попробуйте это

var dateParts = document.getElementById("datetxt").value.split("-");
var timeParts = document.getElementById("timetxt").value.split(":");

var valueDate = new Date(dateParts[2], (dateParts[1] - 1) ,dateParts[0], timeParts[0], timeParts[1]);

if( (new Date).getTime() > valueDate .getTime() )
{
   alert("passed");
}

Пример в реальном времени: http://jsfiddle.net/TJEMr/

0 голосов
/ 18 ноября 2011

Вам нужно втирать строку даты в совместимый формат даты:

    //datetxt textbox value, split on dashes
var date = "25-05-1995".split("-"), 
    //timetxt textbox value
    time = "14:25",
    //put it into format: YYYY-MM-DDThh:mm and creates a date object from it
    dateObj = new Date(date[2] + '-' + date[1] + '-' + date[0] + 'T' + time);

//if today is greater than we have passed that DateTime
if(new Date() > dateObj) {
    alert("After entered date");
} else {
    alert("Not passed yet!");
}

Рабочий пример: jsFiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...