PHP - 将整数持续时间转换为格式化字符串

时间:2014-03-31 08:43:35

标签: php date string-formatting dateinterval

我有一个表单输入接受时间间隔字符串,如“1天”,“3周”,“2个月,10天”等,并将它们转换为总秒数的整数表示,因此“1天”变为86400

现在我需要能够检索整数并将其转换回格式化字符串才能编辑。

我试过玩DateInterval,但我运气不好。此外,从我收集到的内容将限制我仅以一种格式显示它,因此它可以显示“3天”或“58天”。

任何人都知道可以将持续时间戳转换为最合适的间隔格式字符串的脚本吗?

1 个答案:

答案 0 :(得分:0)

这样的事情:

<?php
$secs=7*106400;
$days=(int)($secs/(60*60*24));
$weeks=(int)($days/7);
$days=$days%7;
$remaining=$secs%(60*60*24);
$hours=(int)($remaining/(60*60));
$remaining=$remaining%(60*60);
$minutes=(int)($remaining/(60));
$remaining=$remaining%(60);
echo $weeks.' weeks '.$days.' days '.$hours.' hours '.$minutes.' minutes '.$remaining.' seconds';

输出:

1 weeks 1 days 14 hours 53 minutes 20 seconds