-1

次のように、合計秒数をフィールドに格納しています。

乗数 x 時間 (秒) (60*60)
または
乗数 x 日 (秒) (60*60*24)
または
乗数 x 週 (60*60*24*7)

ユーザーは乗数 (整数値) を入力できます。Hour、Day、および Week は固定値であるため、ユーザーはこれらのオプションの 1 つだけを選択できます。

私が提供している API では、この整数値を合計秒数として保存することしかできません。

この値を取得するときに、入力した乗数の値と、それが時間、日、または週のいずれに該当するかを判断するにはどうすればよいでしょうか?

私は現在、PHPでこの作品を開発しています。どんな助けでも大歓迎です。

4

2 に答える 2

0

多分私はこのような関数を提案することができます:-

/**
 * Given number of seconds will calculate if likely
 * multiplier is weeks, days, hours or seconds
 *
 * @param int $period
 * @return string representing possible chosen multiplier
 */
function getMultiplier($period)
{
    $hour = 60*60;
    $day = $hour * 24;
    $week = $day * 7;

    if($period >= $week && $period % $week == 0){
        return $period/$week . " weeks";
    }
    if($period >= $day && $period % $day == 0){
        return $period/$day . " days";
    }
    if($period >= $hour && $period % $hour == 0){
        return $period/$hour . " hours";
    }
    return "$period seconds";
}

このように使用してください:-

echo getMultiplier(60 * 60 * 23);

出力します

23時間

于 2012-08-14T21:38:27.950 に答える
0

乗数は整数でなければならないとあなたは言いました-それからあなたはそれが入力されたものであるかどうか見るために週と日の除算をチェックすることができます。

(total_seconds / seconds_in_week)が整数の場合、おそらく「週」を選択しました
。(total_seconds / seconds_in_day)が整数の場合、おそらく「日」
を選択しました。それ以外の場合は、間違いなく秒を選択しました。

彼らが14日のようなものを選んだとしても、とにかく数週間で表示されたほうがよいでしょう。

于 2012-08-14T20:58:16.337 に答える