设备H:i:s格式在4相等的逆变



当前时间格式:

 04:16:16

现在我想把它分成4个间隔,如下图所示。

$time1 = 01:04:04
$time2 = 02:08:08  
$time3 = 03:12:12
$time4 = 04:16:16

看起来你什么都没尝试过,已经没有主意了。
因为它很简单,我已经够无聊了:

// This should work fine up to 298261:37:04 (1073741824 seconds, aka 2^30)
function makeIntervals($t, $divide=4) {
   // get individual values
   $t = explode(':', $t);
   // turn into seconds
   $t = $t[0] * 3600 // hours
      + $t[1] * 60   // minutes
      + $t[1];       // seconds
   // interval separation value
   $t = $t/$divide;
   // init output array
   $time = array();
   // build output
   for($i=1; $i<=$divide; ++$i) {
      $currentTime = $i * $t;
      $time[] = sprintf(
         '%02d:%02d:%02d',
         floor($currentTime/3600),
         floor($currentTime%3600/60),
         $currentTime%60
      );
   }
   return $time;
}
$intervals = makeIntervals('04:16:16');
$intervals = makeIntervals('04:16:16', 16);

输出
[0] => 01:04:04
[1] => 02:08:08
[2] => 03:12:12
[3] => 04:16:16

输出
[0] => 00:16:01
[1] => 01:32:02
[2] => 01:48:03
[3] => 01:04:04
[4] => 01:20:05
[5] => 02:36:06
[6] => 02:52:07
[7] => 02:08:08
[8] => 02:24:09
[9] => 03:40:10
[10] => 03:56:11
[11] => 03:12:12
[12] => 03:28:13
[13] => 04:44:14
[14] => 04:00:15
[15] => 04:16:16

相关内容

  • 没有找到相关文章

最新更新