-1

我在这样的字段中存储总秒数:

乘数 x 小时以秒 (60*60)

乘数 x 天以秒 (60*60*24)

乘数 x 周以秒 (60*60*24*7)

用户可以输入一个乘数(一个整数值)。小时、日和周是固定值,因此用户只能选择其中一个选项。

我提供的 API 只允许将此整数值存储为总秒数。

检索此值时,如何确定他们输入的乘数值是什么以及它是否属于小时、日或周?

我目前正在用 PHP 开发这篇文章。任何帮助将非常感激。

4

2 回答 2

0

你说乘数必须是一个整数 - 然后你可以检查星期和日期的可分性,看看是否是输入的。

如果 (total_seconds / seconds_in_week) 是整数,他们可能会选择“周”
如果 (total_seconds / seconds_in_day) 是整数,他们可能会选择“日”
,否则,他们肯定会选择秒。

即使他们确实选择了 14 天之类的东西,但无论如何最好在几周内显示出来。

于 2012-08-14T20:58:16.337 回答
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 回答