Javascript не в состоянии оценить выражение - PullRequest
0 голосов
/ 11 июня 2011

Я пытаюсь вычислить разность дней в Javascript, чтобы применить какое-то значение.Первое выражение

если subs_start

работает нормально, но второе

subs_end

не работает, то же самое происходит с

subs_mid

Код:

var subs_start = 0;
var subs_mid = 0;
var subs_end = 0;               
var dayDiff = (end_year*365 + end_mon * 30 + end_day) 
            - (start_year*365 + start_mon* 30 + start_day);
var oneDay=1000*60*60*24;
var oneHour = 1000*60*60;
var timeDiff = endDate.getTime() - startDate.getTime();
var hourDiff = timeDiff/oneHour;
var start_rem_hour = 24 - start_hour*1;

$.each(subsistence, function(id,subs){

    if(subs.start <= start_rem_hour && start_rem_hour < subs.end ){
        subs_start = subs.rate;
    }                   
    alert('T' + end_hour);

    if(subs.start <= end_hour && end_hour < subs.end ){
        subs_end = subs.rate;
        alert ('e ' + subs_end);
    }

    if(dayDiff > 2){
        if(subs.start >= 10){
            subs_mid = subs.rate * (dayDiff - 2);
            alert ('m ' + subs_mid);
        }
    }

}); 

var subs_allow = subs_start*1 + subs_mid*1 + subs_end*1 ;

Ответы [ 2 ]

1 голос
/ 18 июня 2011

Я наконец-то смог найти ответ.Мне нужно несколько start_rem_hour и end_hour с 1, чтобы преобразовать в int.Кажется, js принимает их как строку, и когда я умножаю на 1, он попадает в целочисленную область.

0 голосов
/ 11 июня 2011

Не уверен, что запрашивается.

Для вычислений DateTime в javascript я бы рекомендовал Datejs библиотека:

http://www.datejs.com/

...