Я застрял с одним условием, когда мне нужно изменить путь, основанный на времени.текущее время плюс один час состояние
У меня будет две переменные даты, CheckInStartDate
и CheckInEndDate
, которые будут поступать из API. Текущее время в системе.
Путь должен меняться в двух условиях.
CheckInStartDate
минус 1 час текущего времениCheckInEndDate
плюс 1 час текущего времени.
Это код, который у меня есть.
$scope.checkIn = function() {
var ONE_HOUR = 60 * 60 * 1000; /* ms */
$scope.checkInStartDate= 01/16/2017 09:06:00 AM;
$scope.checkInEndDate= 01/16/2017 11:06:00 AM;
var checkInStartDate=$scope.checkInStartDate;
var checkInEndDate=$scope.checkInEndDate;
var currentDate = new Date();
var checkinStartDate=new Date(checkInStartDate);
var checkinEndDate = new Date(checkInEndDate);
if ((checkinStartDate.getTime()) > (currentDate.getTime() - ONE_HOUR) ||
(checkinEndDate.getTime()) < (currentDate.getTime() + ONE_HOUR)) {
$location.path('/checkIn')
}
else{
alert("cannot checkin");
}
}
Что на ваш вопрос именно? Ваш код выглядит в основном прекрасным для меня, за исключением того, что изначально установка '$ scope.checkInStartDate', как вы делаете, является синтаксической ошибкой (и аналогичным образом для даты окончания). –
Вы забыли котировки вокруг даты-времени в строках 3 и 4. –
Можете ли вы использовать https://momentjs.com/? это облегчило бы изменение дат? – Qpirate