Я использую angularjs и библиотеку моментов, у меня есть start_date
объект содержит несколько дат, после того, как пользователь нажимает кнопку мыши. Я проверяю каждую дату, чтобы проверить, действительна ли дата i, e которая сегодня больше или равна сегодняшнему, иначе я бросаю ошибку.Как сравнить выбранную дату больше, чем сегодня Дата в моменте
Вот мой код
$scope.checkDateTime = function(){
angular.forEach($scope.orders.start_date,function(s){
console.log('data'+s);
if (moment(s).format('DD-MM-YYYY') < moment().format('DD-MM-YYYY')) {
swal({
title: "Please select a valid date.",
text: "Please select valid start date.",
confirmButtonClass: "btn btn-primary add-prod-btn",
imageUrl: 'images/vmy-sub.png'
})
return false;
}
}
}
EDIT Когда я утешал значение с я получаю 27-10-2016, когда я использую момент (s, 'DD-MM-YYYY') Я получаю 1477506600000. Поэтому я думаю, что значение, которое я получаю, не является строкой, но когда я прямо сравниваю его с сегодняшней датой, используя момент, когда он говорит о недопустимой дате, я смущен. Любая помощь пожалуйста.
Вы можете просто использовать [ 'isBefore'] (http://momentjs.com/docs/ #/query/is-before /), в вашем случае: 'moment (s) .isBefore (moment())' – VincenzoC
Вещь start_date не является датой, ее строкой –
Как мне сначала преобразовать ее на дату, затем сравнить? –