开发者

PHP: timestamps between dates

I have an array with timestamps. If this timestamps are between two given dates I need to collect them into another array. Let me use an example:

Lets say $array1[] has:

Array ( [0] => 1299147500 [1] => 1299147453 [2] => 1299146476 [3] => 1299143220 [4] => 1297934349 [5] => 1297845742 [6] => 1297695551 [7] => 1296134251 [8] => 1295948452 [9] => 1295554308 [10] => 1295369389 [11] => 1295345559 [开发者_开发技巧12] => 1295261432 [13] => 1295014784 [14] => 1294929846 [15] => 1294832875 )

I need to create $array2[] with those values from $array1[] that are between Thursday February 17, 2011 and Thursday March 3, 2011 How can I do this?

Thanks a ton


$low = strtotime('Thursday February 17, 2011');
$high = strtotime('Thursday March 3, 2011');

$array2 = array();
foreach($array1 as $timestamp) {
    if ($low <= $timestamp && $timestamp <= $high) {
        $array2[] = $timestamp;
    }
}

an alternative using array_filter which will maintain the keys.

$low = strtotime('Thursday February 17, 2011');
$high = strtotime('Thursday March 3, 2011');

$array2 = array_filter($array1, function($timestamp) use ($low, $high) {
    return $low <= $timestamp && $timestamp <= $high;
});


  1. Convert first and last date to timestamps using strtotime()
  2. For each item in the array, if it is between min and max, copy it to the second array. Sort the array of timestamps


http://codepad.org/mDvRJ534

<?php
$array1 = array(1299147500,1299147453,1299146476,1299143220,1297934349,1297845742,1297695551,1296134251,1295948452,1295554308,1295369389,1295345559,1295261432,1295014784,1294929846,1294832875);
$array2 = array();
$date1 = strtotime('Thursday February 17, 2011');
$date2 = strtotime('Thursday March 3, 2011');
foreach($array1 as $timestamp){
    if($timestamp <= $date2 && $timestamp >= $date1)
        $array2[] = $timestamp;
}
echo 'date1 = '.$date1."\n";
echo 'date2 = '.$date2."\n";
print_r($array2);


Someone answered this in another post over here mate How to check if a date is in a given range?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜