Я хочу проверить, что мой период времени в ту же дату или нет для проверки

let startDate = currentSelection.startTimeHr + ":" + currentSelection.startTimeMin + " " + currentSelection.startTimeAMPM
let endDate = currentSelection.stopTimeHr + ":" + currentSelection.stopTimeMin + " " + currentSelection.stopTimeAMPM

StartDate = 02:30 утра
endDate = 6:45 вечера

Это легко, если можно вернуть истинное или ложное логическое значение

-1
GCJAmarasinghe 21 Авг 2018 в 07:49

3 ответа

Лучший ответ

Здесь вы можете преобразовать время в объект даты и сравнить его. Надеюсь, это поможет

var d = new Date(),
    s = "02:30 AM",
    parts = s.match(/(\d+)\:(\d+) (\w+)/),
    hours = /am/i.test(parts[3]) ? parseInt(parts[1], 10) : parseInt(parts[1], 10) + 12,
    minutes = parseInt(parts[2], 10);

d.setHours(hours);
d.setMinutes(minutes);

console.log(d);

var d2 = new Date(),
    s = "06:45 PM",
    parts = s.match(/(\d+)\:(\d+) (\w+)/),
    hours = /am/i.test(parts[3]) ? parseInt(parts[1], 10) : parseInt(parts[1], 10) + 12,
    minutes = parseInt(parts[2], 10);

d2.setHours(hours);
d2.setMinutes(minutes);

if(d < d2)
    alert('true');
else
    alert('false');
2
Sachi.Dila 21 Авг 2018 в 05:26

Это можно сделать с помощью метода getTime из объекта date.

См. следующий пример .

var end, start;

start = new Date();
// For applying some delay
for (var i = 0; i < 1000; i++) {
  Math.sqrt(i);
}
end = new Date();
console.log('Operation took ' + (end.getTime() - start.getTime()) + ' msec');

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime

0
Avinash Maurya 21 Авг 2018 в 04:55

Вы можете использовать моменты. ИТ поддерживает две даты в один и тот же день / до или после.

. Момент ( ' 2010-10-20 ' ) isSame ( ' 2010-10-20 '); // правда

https://momentjs.com/docs/#/query/is-same/

0
Suresh Kumar Ariya 21 Авг 2018 в 04:54
51941730