PHP Date functions
From Code Trash
Contents
Date Difference - No of days between two dates
function getDays($fromdate,$todate) { /* $a = split('-',$fromdate); $one = mktime(0,0,0,$a[1],$a[2],$a[0]); $a = split('-',$todate); $two = mktime(0,0,0,$a[1],$a[2],$a[0]); return ($two-$one)/86400; //this is giving fractional values like 17.9587989 if it is 18 day difference... so... you can use the round function or the following... */ $res = mysql_query("select DATEDIFF('$todate','$fromdate') as diberance"); $res = mysql_fetch_array($res); $res = $res['diberance']; return $res; }
Array list of dates between two dates
function getSeqDays($in,$out) { $nodays = getDays($in,$out); $sdate = date2number($in); // i=1 for lastdate-1 . i=0 to include the last date. for($i=0;$i<=$nodays;$i++) { $sqdays[] = number2date($sdate); $sdate+=86400; } return $sqdays; }
Date format to timestamp
function date2number($in) { list($year,$month,$day) = split('-',$in); return mktime(0,0,0,$month,$day,$year); }
Timestamp to date format
function number2date($in) { return date('Y-m-d',$in); }
Add 1 month to date or timestamp
//I'm trying to figure out how I can add 1-month on to a "2008-05-09" style date. But I am //converting that date to a Unix timestamp first by doing the following: $capturedDate = '2008-06-20'; $endDate = strtotime($capturedDate); // Now I need to add 1 month onto $endDate. //Anyone know how I can add 1-month onto $endDate using php? I've been looking high and low in the //php manual under date/time functions, but can't find anything that will do it with a unix //timestamp. Thanks for any help. //cameraman //Use strtotime again $endDate = strtotime('+1 month',$endDate); // the other way is to do this $timestamp = $timestamp + ($no_of_days_remining_of_current_month * 86400)