PHP、javascript、jquery,仅设置小时

PHP、javascript、jquery,仅设置小时,javascript,php,jquery,time,Javascript,Php,Jquery,Time,我已经在我的网站上成功地用php创建了一个小函数。但我现在意识到我实际上需要在javascript或jquery中使用它,因为PHP只会在加载时执行此代码。。我需要这个函数来处理select上的onchange。下面的代码是我的函数。。谁能指出我从哪里开始将其转换为类似js/jquery的代码 function setTrnTime ($hr, $journeyTime){ date_default_timezone_set('GMT'); //convert current hour to

我已经在我的网站上成功地用php创建了一个小函数。但我现在意识到我实际上需要在javascript或jquery中使用它,因为PHP只会在加载时执行此代码。。我需要这个函数来处理select上的onchange。下面的代码是我的函数。。谁能指出我从哪里开始将其转换为类似js/jquery的代码

function setTrnTime ($hr, $journeyTime){

date_default_timezone_set('GMT');

//convert current hour to time format hour
$currentHour = (date("H", mktime($hr))); 

// Journey time in hours
$journey = $journeyTime
$journey = $journey/60; // Get hours
$journey = ceil($journey); // Round off to next hour i.e. 3 hours 20mins is now 4 hours

// New Hours
$NewHour = (date("H", mktime($journey)));
$Newhour = $NewHour*60*60; // convert to seconds

// Final hour is Current Hour - JourneyTime (Hours)
$trnHour = (date('H', mktime($currentHour-$NewHour)));

return $trnHour;
}

对于上面的代码,如果我通过两个值06,60:这意味着我的答案是05。e、 g.06是早上6点。60分钟等于60分钟。。所以6am-60mins=5am。

您可以使用日期对象在javascript中执行相同的操作,请参见此处的信息

编辑:添加了一些代码,甚至不使用日期对象

但是你需要这么复杂的东西吗?下面的步骤不是少了点吗


您可以使用Date对象在javascript中执行相同的操作,请参见此处的信息

编辑:添加了一些代码,甚至不使用日期对象

但是你需要这么复杂的东西吗?下面的步骤不是少了点吗

有关JavaScript中日期对象的信息,请参见。

有关JavaScript中日期对象的信息,请参见。

如果
hr
是一个对象,那么它非常简单。否则,您可以创建日期对象并设置其时间:

//! \param[in] hr Date object or hour (0--23)
//! \param[in] journeyTime journey time in minutes.
function setTrnTime(hr,journeyTime){
    var end;
    if(typeof(hr) === 'number'){
        end = new Date();
        end.setHours(hr);
    }
    else
        end = hr;

    return (new Date(end - journeyTime*60*1000)).getHours();
}
这将返回hour()。

如果
hr
是一个对象,那么它非常简单。否则,您可以创建日期对象并设置其时间:

//! \param[in] hr Date object or hour (0--23)
//! \param[in] journeyTime journey time in minutes.
function setTrnTime(hr,journeyTime){
    var end;
    if(typeof(hr) === 'number'){
        end = new Date();
        end.setHours(hr);
    }
    else
        end = hr;

    return (new Date(end - journeyTime*60*1000)).getHours();
}


这将返回小时()。

-1。仅链接答案,W3学校?如果可以的话,我会投两次反对票。谢谢,我稍后会读这篇文章。我同意w3schools不是最好的资源,但这是我想到的第一个网站。哈哈,w3schools不是我喜欢的。解释得不好。没有PHP.net手册好(这就是我的goto用于PHP的内容)。。我可以更好地使用示例来创建我的函数。。但糟糕的例子=我理解力差。仅链接答案,W3学校?如果可以的话,我会投两次反对票。谢谢,我稍后会读这篇文章。我同意w3schools不是最好的资源,但这是我想到的第一个网站。哈哈,w3schools不是我喜欢的。解释得不好。没有PHP.net手册好(这就是我的goto用于PHP的内容)。。我可以更好地使用示例来创建我的函数。。但糟糕的例子=我理解力差tbh。请不要使用仅链接的答案。提供一个即使MDN下降也有意义的答案。@gillesc链接没有那么大帮助。我花了几个小时在PHP中构建这个函数,最后我把它做对了,但我意识到我需要js中的这个函数。但是现在我很困惑,因为js并不是我最大的朋友。@说实话很公平,但在这种情况下,我要花很长时间来解释日期对象:)@gillesc:我不是要你解释整个日期对象,但是,请展示一些带有注释的示例代码,以解释正在进行的操作。@gillesc:虽然永远不会太晚,但请不要使用仅链接的答案。提供一个即使MDN下降也有意义的答案。@gillesc链接没有那么大帮助。我花了几个小时在PHP中构建这个函数,最后我把它做对了,但我意识到我需要js中的这个函数。但是现在我很困惑,因为js不是我最大的朋友。@事实很公平,但在这种情况下,我需要花相当长的时间来解释日期对象:)@gillesc:我不是要求你解释整个日期对象,而是展示一些示例代码和注释来解释所做的事情。@gillesc:在我的代码中,永远不会太晚,$hr将是一个数字。。00至23。。然后使用mktime将其转换为日期对象。。那么你的代码还能工作吗?是的,应该可以(请参见
typeof(hr)
check)。但是,缺少上限效应(3h20m->4h),但这应该很容易实现;这给出了未定义的。。也许这和天花板有关。。让我添加ceil,看看它是否能修复……是的,它能工作:)。。但最后一个问题。。它以1位数显示我的答案。在PHP中,我使用H参数以24小时格式显示numebr。。js也可以这样做吗?
var result=setTrnTime(hr,journeyTime);如果(结果<10)结果='0'+''+结果在我的代码中,$hr将是一个数字。。00至23。。然后使用mktime将其转换为日期对象。。那么你的代码还能工作吗?是的,应该可以(请参见
typeof(hr)
check)。但是,缺少上限效应(3h20m->4h),但这应该很容易实现;这给出了未定义的。。也许这和天花板有关。。让我添加ceil,看看它是否能修复……是的,它能工作:)。。但最后一个问题。。它以1位数显示我的答案。在PHP中,我使用H参数以24小时格式显示numebr。。js也可以这样做吗?
var result=setTrnTime(hr,journeyTime);如果(结果<10)结果='0'+''+结果