note 50059 added to function.date
| From: | erik | Date: | Wed, 16 Feb 2005 19:12:39 +0000 |
| Subject: | note 50059 added to function.date | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-85129@lists.php.net to get a copy of this message | ||
A little script that gives an array with periodes:
Example:
2005-01-01, 2005-01-02, 2005-01-03, 2005-01-04
will be
2005-01-01, 2005-01-04
If you can work by periodes can this save some database space/speed.
Code:
<?php
$previous_date = "";
$periodes = array();
$pointer = 0;
foreach ($_POST['data'] as $key=>$value){
if (!empty($previous_date))
if (floor(abs(strtotime($previous_date) - strtotime($value))/86400) == 1){
$periodes[$pointer+1] = $value;
}
else{
$pointer +=2;
$periodes[$pointer] = $value;
$periodes[$pointer+1] = $value;
}
else {
$periodes[$pointer] = $value;
$periodes[$pointer+1] = $value;
}
$previous_date = $value;
}
?>
The $periodes array will look like this:
[start_date],[end_date](,[start_date],[end_date])
Hope this code can help someone :) cheers
----
Manual Page -- http://www.php.net/manual/en/function.date.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+50059
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+50059&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+50059&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+50059&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+50059&report=yes&reason=useless
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+50059&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+50059&report=yes
Search -- http://master.php.net/manage/user-notes.php