我在一个字段中存储总秒数,如下所示:
倍数x小时(秒)(60 * 60)
或
乘数x天数秒(60 * 60 * 24)
或
乘数x周以秒为单位(60 * 60 * 24 * 7)
用户可以输入乘数(整数值)。小时,日和周是固定值,因此用户只能选择其中一个选项。
我提供的API仅允许将此整数值存储为总秒数。
检索此值时,如何确定他们输入的乘数值是多少?它是否属于小时,天或周?
我目前正在用PHP开发这篇文章。任何帮助将不胜感激。
答案 0 :(得分:0)
你说乘数必须是一个整数 - 然后你可以检查一周和一天的可分性,看看是否是输入的。
如果(total_seconds / seconds_in_week)是一个整数,他们可能选择了“周”
如果(total_seconds / seconds_in_day)是一个整数,他们可能选择“day”
否则,他们肯定会选择秒。
即使他们确实选择了14天之类的东西,但无论如何,最好还是在几周之内显示出来。
答案 1 :(得分: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小时