1

我已经在 php 中成功创建了一个我需要在我的网站上的小函数。但是我现在意识到我实际上需要在 javascript 或 jquery 中使用它,因为 PHP 只会在加载时执行此代码。我需要此函数在选择时与 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。例如 06 是早上 6 点。60 是 60 分钟。所以早上 6 点 - 60 分钟 = 早上 5 点。

4

3 回答 3

2

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

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

编辑:添加了一些代码,甚至没有使用 Date 对象。

但是你需要一些复杂的东西吗,下面的步骤不是用更少的步骤完成的。

http://jsfiddle.net/WWTDc/

于 2012-04-13T09:27:02.163 回答
0

如果hr是一个Date对象,那么它很简单。否则,您可以创建一个 Date 对象并设置其小时:

//! \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();
}

这将返回小时(演示)。

于 2012-04-13T09:35:57.263 回答
-1

有关 JavaScript 中 Date 对象的信息,请参见此处

于 2012-04-13T09:27:05.783 回答