{$time} -> '{$returner}']"); return $returner; } function date_format_database_date($date_string,$format=0,$tz_offset=0){ $date = strtotime($date_string); if($date < 1) $date = 0; return format_date($date,$format,$tz_offset,$tz_offset); } function date_now($format=0,$tz_offset=0){ global $CODEFLUENT_TIMESTAMP_FORMAT; if(!$format) $format = $CODEFLUENT_TIMESTAMP_FORMAT; $now = (time() + $tz_offset); return date($format,$now); } function date_adjust($unixtime=0,$amount=0,$subtract=0){ global $CODEFLUENT_TIMESTAMP_FORMAT; if(!$unixtime) $unixtime = time(); $formatted = date($CODEFLUENT_TIMESTAMP_FORMAT,$unixtime); $formatted = "{$formatted} {$amount}"; if($subtract) $formatted = "{$formatted} ago"; $returner = strtotime($formatted); debug("date_adjust({$unixtime},{$amount},{$subtract}) formatted[{$formatted}] [{$returner}]"); return $returner; } function date_add($unixtime=0,$amount=0){ return date_adjust($unixtime,"+ {$amount}"); } function date_subtract($unixtime,$amount){ return date_adjust($unixtime,$amount,1); } // deprciate use date add function date_add_month($timestamp,$add=0){ global $DATE_DAYS_IN_MONTH; $dateinfo = getdate($timestamp); $year = $dateinfo['year']; $month = $dateinfo['mon']; $day = $dateinfo['mday']; $hours = $dateinfo['hours']; $minutes = $dateinfo['minutes']; $seconds = $dateinfo['seconds']; $month = ($month + $add); $year_adjust = ($month/12); $month = ($month%12); $month = abs($month); if(!$month){ $month = 12; $year_adjust--; } if($year_adjust) $year = ($year + $year_adjust); $max_days = $DATE_DAYS_IN_MONTH[$month]; if($day > $max_days) $day = $max_days; return mktime($hours,$minutes,$seconds,$month,$day,$year); } function date_get_day_start($unixtime){ $date = getdate($unixtime); $month = $date['mon']; $year = $date['year']; $day = $date['mday']; return mktime(0,0,0,$month,$day,$year); } function date_get_day_end($unixtime){ $date = getdate($unixtime); $month = $date['mon']; $year = $date['year']; $day = $date['mday']; return mktime(23,59,59,$month,$day,$year); } function date_get_week_start($unixtime){ $day_of_week = date('w',$unixtime); $unixtime = date_subtract($unixtime,"{$day_of_week} days"); return date_get_day_start($unixtime); } function date_get_week_end($unixtime){ $day_of_week = date('w',$unixtime); $days_to_go = (6 - $day_of_week); $unixtime = date_add($unixtime,"{$days_to_go} days"); return date_get_day_end($unixtime); } function date_last_day_of_month($month,$year){ $time = mktime(0,0,0,$month,0,$year); $date = getdate($time); return $date['mday']; } function date_get_month_start($unixtime){ $date = getdate($unixtime); $month = $date['mon']; $year = $date['year']; return mktime(0,0,0,$month,1,$year); } function date_get_month_end($unixtime){ $date = getdate($unixtime); $month = $date['mon']; $year = $date['year']; $day = date_last_day_of_month($month,$year); return mktime(23,59,59,$month,$day,$year); } function date_is_holiday($unixtime){ global $CODEFLUENT_DATE_HOLIDAYS; $month_day = date_date_format($unixtime,'n-j'); return $CODEFLUENT_DATE_HOLIDAYS[$month_day]; } function date_get_next_weekday($unixtime,$weekday=0){ global $DATE_WEEKDAYS; $debug_unixtime = date_date_format($unixtime); debug("date_get_next_weekday({$unixtime},{$weekday}) [{$debug_unixtime}] looking for the next [{$DATE_WEEKDAYS[$weekday]}]"); $dateunixtime = $unixtime; $date = getdate($dateunixtime); $current_weekday = $date['wday']; debug("testing {$DATE_WEEKDAYS[$weekday]} against {$DATE_WEEKDAYS[$current_weekday]}"); for($i = 0; ($current_weekday != $weekday); $i++){ $dateunixtime = date_add($unixtime,"{$i} day"); $date = getdate($dateunixtime); $current_weekday = $date['wday']; debug("testing {$DATE_WEEKDAYS[$weekday]} against {$DATE_WEEKDAYS[$current_weekday]}"); } debug("date_get_next_weekday({$unixtime},{$weekday}) [{$dateunixtime}]"); return $dateunixtime; } function date_is_today($unixtime){ $now = time(); $min = date_get_day_start($now); $max = date_get_day_end($now); return boolean_between($min,$unixtime,$max); } ?>