Сравнение дат в jquery
у меня есть следующие коды, и это, хотя у меня есть 01-Jan-2009
на DateTo
и 03-Jan-2009
на DateFrom
он читает значения как NAN
. Я что-то пропустил? Я ссылаюсь
var DateToValue = $("#DateTo").val();
var DateFromValue = $("#DateFrom").val();
if (Date.parse(DateToValue) <= Date.parse(DateFromValue)) {
$("#DateFrom").val(DateToValue)
}
<script src="@Url.Content("~/Scripts/jquery-1.4.2.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.datePicker.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
7 ответов
используйте DateJS для разбора даты. http://www.datejs.com/ просто включите скрипт в свой html.
Как насчет этого?
DateTime DateToValue = $("#DateTo").val();
DateTime DateFromValue = $("#DateFrom").val();
if (Date.parse(DateToValue) <= Date.parse(DateFromValue)) {
$("#DateFrom").val(DateToValue)
}
простой способ сделать это
var start= new Date($('#txtstart').val());
var end= new Date($('#txtend').val());
if (start < end) {
}
мое сравнение с текущей датой
function isPastDate(dateText) {
// date is dd/mm/yyyy
var inputDate = dateText.split("/");
var today = new Date();
inputDate = new Date(inputDate[2], inputDate[1] - 1, inputDate[0], 0, 0, 0, 0);
today = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0, 0);
return inputDate < today;
};
вы можете использовать ниже код, чтобы проанализировать даты, используя подход МС (миллисекунд добавление присутствовать в день) не будет работать по времени.
for ( beginDate= new Date(startDate.getTime()); beginDate.getTime()<=endDate.getTime(); beginDate.setDate(beginDate.getDate() + 1)) {
dateRangeArray.push(new Date(beginDate.getTime()));
}
вот более упрощенный способ из простого Java script
<script>
//get the values
function asdf(){
var fDate=document.forms[0].fromDate.value;
var tDate=document.forms[0].toDate.value;
//Compare
if(fDate>tDate){
var dateComponentsfrom = fDate.split("/");
//split and convert into date to be more precise
var fromdate = new Date(dateComponentsfrom[2], dateComponentsfrom[1] - 1, dateComponentsfrom[0]);
var dateComponentsto = tDate.split("/");
var todate = new Date(dateComponentsto[2], dateComponentsto[1] - 1, dateComponentsto[0]);
if(fromdate>todate){
alert('from date cannot be greater than to date');
return false;
}
}
}
</script>
Я думаю, что мой ответ запоздал, скажите мне, лучше или нет, как только это сработало для меня в v1.10:
if($('#DateTo').val().split("/").reverse().join("") <=
$('#DateFrom').val().split("/").reverse().join("")){//Do something}