我有一个要求,我需要从Unix时间戳或PHP时间戳范围中提取5个点。
例如, 从2014-06-26 07:53:26到2014-06-27 07:52:46。
我需要以精确或近似的间隔从这两个日期中得到五分,才能使用pChart图表。
目前我的代码是
$diff = $mintime->diff($maxtime);
$range = max($timestamps) - min($timestamps);
$cnt = count($timestamps);
$temp = ceil($range * (20/100));
for($i=0;$i<$cnt;$i++)
{
if($i%($cnt/5) == 0)
$point[$i] = gmdate("Y-m-d H:i:s",min($timestamps) + $temp * ($i+1));
else
$point[$i] = null;
}
但我的代码会返回不稳定的值。我知道问题在于temp变量。帮我解决这个问题。
由于
答案 0 :(得分:2)
试试这个:
$from = '2014-06-26 07:53:26';
$to = '2014-06-27 07:52:46';
$diff_stamp = strtotime($to) - strtotime($from);
$range = range(strtotime($from), strtotime($to), $diff_stamp/4);
这里,$range
是一个时间戳数组。要将每个转换回日期,您可以使用array_map
:
$range = array_map(function($a){return date('Y-m-d H:i:s', $a);}, $range);
答案 1 :(得分:0)
$splitter=($timestamp1-$timestamp2);
$timestamp_between=array();
for($i=0;$i<5;$i++) $timestamp_between[]=$timestamp1+($i*$splitter);
print_r($timestamp_between);