1

私のサイトで必要な小さな関数をphpで作成しました。しかし、PHPはロード時にのみこのコードを実行するため、javascriptまたはjqueryで実際にこれが必要であることに気付きました.選択時に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 の 2 つの値を渡すと、答えは 05 になります。たとえば、06 は午前 6 時です。60 は 60 分です。つまり、午前 6 時 - 60 分 = 午前 5 時です。

4

3 に答える 3

2

Date オブジェクトを使用して JavaScript で同じことを行うことができます。こちらの情報を参照してください。

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

EDITED: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();
}

これは時間を返します ( demo )。

于 2012-04-13T09:35:57.263 に答える
-1

JavaScript の Date オブジェクトについては、こちらをご覧ください。

于 2012-04-13T09:27:05.783 に答える