2015-04-25 6 views
0

Я использую следующий javascript: http://xdsoft.net/jqplugins/datetimepicker, и я хочу добиться простого эффекта - когда пользователь выбирает сегодняшний день, он должен показывать ему только часы, доступные с этого момента до конца дня, предыдущее время должно быть отключено. Но когда он собирается в любой другой день в будущем, тогда все время должно быть доступно. Я написал следующую функцию в JS:Как найти сегодняшнюю дату в DateTimePicker JavaScript?

<script> 
var today = new Date(); 
var dd = today.getDate(); 
alert(dd); 
      var logic = function(currentDateTime){ 
    if(currentDateTime.getDay()==dd){ 
    this.setOptions({ 
     formatTime:'g:i A', 
format: 'd/m/Y h:i A', 
    minDate:'+1970/01/02',//today 
    minTime: //I don't know yet how to implement the current time 
    }); 
    }else 
    this.setOptions({ 
    formatTime:'g:i A', 
format: 'd/m/Y h:i A', 
    minDate:'+1970/01/02'//today 
    }); 
}; 


       jQuery('#datetimepicker').datetimepicker({ 
       onChangeDateTime:logic, 
       onShow:logic 
       }); 

</script> 

Проблема в том, что эту линию:

currentDateTime.getDay()==dd 

не работает, потому что в моем случае дд приравнивает сегодняшнюю день месяца (например, 25), и currentDateTime.getDay() проверяет текущий день недели (например, в субботу это 6). Есть ли кто-нибудь, кто мог бы помочь мне в этом вопросе? Я знаю, что есть другие доступные решения (другие сборщики времени и времени), но я не могу найти никого другого, столь же простого и элегантного, как это. Благодаря!

ответ

2

Вы хотите использовать getDate(), который возвращает день в месяце, а не getDay(), который возвращает день недели.

Вы должны прочитать Date reference page.

+0

Да, спасибо, вот и все, я должен был включить более конкретную проверку даты в выражении if: currentDateTime.getDate() == dd && currentDateTime.getFullYear() == yy && currentDateTime.getMonth() == мм', чтобы заботиться о тех же днях в разные месяцы. Спасибо за помощь. – randomuser1

+1

Нет проблем! Вы также можете сравнить даты, используя 'currentDateTime === today', и будет работать как ожидалось вместо трех условий. –

Смежные вопросы