Javascript无法计算表达式的值

Javascript无法计算表达式的值,javascript,evaluation,Javascript,Evaluation,我试图用Javascript计算一天的差异,以应用一些值。第一个表达式 如果潜艇启动 工作正常,但第二个 底端 不起作用,同样的情况也会发生 潜水艇 代码: var subs\u start=0; var subs_mid=0; var subs_end=0; var dayDiff=(年末*365+月末*30+年末天数) -(起始年*365+起始月*30+起始日); var一天=1000*60*60*24; var一小时=1000*60*60; var timeDiff=endDate.get

我试图用Javascript计算一天的差异,以应用一些值。第一个表达式

如果潜艇启动

工作正常,但第二个

底端

不起作用,同样的情况也会发生

潜水艇

代码:

var subs\u start=0;
var subs_mid=0;
var subs_end=0;
var dayDiff=(年末*365+月末*30+年末天数)
-(起始年*365+起始月*30+起始日);
var一天=1000*60*60*24;
var一小时=1000*60*60;
var timeDiff=endDate.getTime()-startDate.getTime();
var hourDiff=时间差/一小时;
var启动时间=24-启动时间*1;
美元。每个(生存、功能(id、子系统){
如果(subs.start=10){
subs_mid=subs.rate*(dayDiff-2);
警报('m'+潜艇中);
}
}
}); 
var subs_allow=subs_start*1+subs_mid*1+subs_end*1;

不确定要求的是什么

对于javascript中的日期时间计算,我建议使用Datejs库:


我终于找到了答案。我需要用1乘以start\u rem\u hour和end\u hour来转换为int。js似乎将它们作为字符串,当我乘以1时,它进入整数范围。

您期望的行为是什么,出现了什么问题?在这种情况下,短语“不起作用”这并不意味着什么,除了你得到了一个你意想不到的答案。你处理的数据是什么?让你吃惊的答案是什么?甚至可能是你的期望不正确。。。
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 ;