note 102293 deleted from function.date by tularis
| From: | tularis@php.net | Date: | Thu, 09 Feb 2012 20:51:51 +0000 |
| Subject: | note 102293 deleted from function.date by tularis | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-185962@lists.php.net to get a copy of this message | ||
Note Submitter: india dot yogi at gmail dot com
----
<?php
// will echo all saturdays found between date range.
function getAllSaturdays($from_date, $to_date){
// getting number of days between two date range.
$number_of_days = count_days(strtotime($from_date),strtotime($to_date));
for($i = 1; $i<=$number_of_days; $i++){
$day =
Date('l',mktime(0,0,0,date('m'),date('d')+$i,date('y')));
if($day == 'Saturday'){
echo
Date('d-m-Y',mktime(0,0,0,date('m'),date('d')+$i,date('y'))),'<br/>';
}
}
}
// Will return the number of days between the two dates passed in
function count_days( $a, $b )
{
// First we need to break these dates into their constituent parts:
$gd_a = getdate( $a );
$gd_b = getdate( $b );
// Now recreate these timestamps, based upon noon on each day
// The specific time doesn't matter but it must be the same each day
$a_new = mktime( 12, 0, 0, $gd_a['mon'], $gd_a['mday'], $gd_a['year']
);
$b_new = mktime( 12, 0, 0, $gd_b['mon'], $gd_b['mday'], $gd_b['year']
);
// Subtract these two numbers and divide by the number of seconds in a
// day. Round the result since crossing over a daylight savings time
// barrier will cause this time to be off by an hour or two.
return round( abs( $a_new - $b_new ) / 86400 );
}
$from_date = Date('d-m-Y'); // todays date
$to_date =
Date('d-m-Y',mktime(0,0,0,date('m'),date('d'),date('y')+1));
// date with one year difference i.e. same date of next year
getAllSaturdays($from_date,$to_date);
?>