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

问题描述:

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

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

我试过用DateInterval玩,但我没有太多的运气。另外,从我收集到的信息来看,这会限制我只能以一种格式显示,因此可能会显示“3天”或“58天”。

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

+0

可能重复/ 19680778/67332)** –

+0

好吧,这很令人尴尬,重复的问题提醒我,我的辅助程序库中已经有了一个工作脚本。无论如何,谢谢你们。 – Bobe

像这样:

<?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'; 

输出:** [转换秒进天,小时,分钟和秒](http://stackoverflow.com/a的

1 weeks 1 days 14 hours 53 minutes 20 seconds