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