Javascript无法评估表达式

时间:2011-06-11 03:48:39

标签: javascript evaluation

我试图在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 个答案:

答案 0 :(得分:1)

我终于能找到答案了。我需要多次使用start_rem_hour和end_hour来转换为int。似乎js将它们作为字符串,当我乘以1时,它进入整数范围。

答案 1 :(得分:0)

不确定要求的是什么。

对于javascript中的DateTime计算,我建议使用 Datejs 库:

http://www.datejs.com/