Php 如果负面条件不起作用,则使用javascript

Php 如果负面条件不起作用,则使用javascript,php,javascript,jquery,html,Php,Javascript,Jquery,Html,我试图计算两次之间的运行时间。当计算PM到AM时,它会给我一个负数,因此我需要在负数上加上12小时,以获得正确的运行时间。为此,我必须添加条件if($some\u result

我试图计算两次之间的运行时间。当计算PM到AM时,它会给我一个负数,因此我需要在负数上加上12小时,以获得正确的运行时间。为此,我必须添加条件
if($some\u result<0)
。它在php中工作,但不是js,我不明白为什么

演示:

函数calculateTime(){//获取两个时间标记之间经过的时间
var valuestart=$(“选择[name='timestart']”)val();
var valuestop=$(“选择[name='timestop']”)val();
//创建日期格式
var timeStart=新日期(“01/01/2007”+valuestart).getHours();
var timeEnd=新日期(“01/01/2007”+valuestop).getHours();
var hourDiff=时间结束-时间开始;
如果(hourDiff<0){//这不起作用
hourDiff+=12;
}
返回小时数;
}
//在加载时准备函数
$(文档).ready(函数(){
$(“选择”)。更改(计算时间);
计算时间();
});
//更改选择选项时执行函数
$(函数(){
$(“选择”).change(函数(){
$(“#结果”).val(calculateTime());
});
});

如果语句失败,那就不是
。您需要添加24,而不是12:


我建议安装Chrome、Firefox或IE9,打开javascript开发者控制台并使用
console.log(…)
函数。我不建议使用IE9,它的输出让我很不满意。

如果
语句失败,那不是
。您需要添加24,而不是12:


我建议安装Chrome、Firefox或IE9,打开javascript开发者控制台并使用
console.log(…)
函数。我不建议使用IE9,它的输出让我很不满意。

太好了!嗯,为什么它在php tho中使用12而不是24?也许因为我用的是时间戳,太棒了!嗯,为什么它在php tho中使用12而不是24?可能是因为我用的是时间戳
function calculateTime() { //gets time elapsed between 2 time marks

            var valuestart = $("select[name='timestart']").val();
            var valuestop = $("select[name='timestop']").val();

             //create date format          
             var timeStart = new Date("01/01/2007 " + valuestart).getHours();
             var timeEnd = new Date("01/01/2007 " + valuestop).getHours();

             var hourDiff = timeEnd - timeStart;      

              if ( hourDiff < 0 ) { //this is not working
                 hourDiff += 12;
             }

             return hourDiff;

}



//prepare function on load
$(document).ready(function() {
    $("select").change(calculateTime);
    calculateTime();
});



//execute function when changing select options
$(function() {
    $("select").change(function() {
        $( "#result" ).val( calculateTime() );
    });
});