*/ public function current_time() { return current_time('Y-m-d'); } /** * Compare dates * * @param [type] $date_1 . * @param [type] $date_2 . * @param [type] $compare . * @author Jewel Theme */ public function date_compare($date_1, $date_2 = null, $compare = null) { if (!$compare) { $compare = '=='; } if (!$date_2) { $date_2 = $this->current_time(); } if ('<' === $compare) { return strtotime($date_1) < strtotime($date_2); } elseif ('>' === $compare) { return strtotime($date_1) > strtotime($date_2); } elseif ('<=' === $compare) { return strtotime($date_1) <= strtotime($date_2); } elseif ('>=' === $compare) { return strtotime($date_1) >= strtotime($date_2); } else { return strtotime($date_1) === strtotime($date_2); } } /** * Date Diff * * @param [type] $date_1 . * @param [type] $date_2 . * * @author Jewel Theme */ public function date_diff($date_1, $date_2 = null) { if (!$date_2) { $date_2 = $this->current_time(); } $diff = date_diff(date_create($date_2), date_create($date_1)); return $diff->format('%R%a'); } /** * Check Current date * * @param [type] $date_1 . * * @author Jewel Theme */ public function date_is_current($date_1) { return $this->date_compare($date_1); } /** * Check Prev date * * @param [type] $date_1 . * @param [type] $date_2 . * * @author Jewel Theme */ public function date_is_prev($date_1, $date_2 = null) { return $this->date_compare($date_1, $date_2, '<'); } /** * Check current or previous date * * @param [type] $date_1 . * @param [type] $date_2 . * * @author Jewel Theme */ public function date_is_current_or_prev($date_1, $date_2 = null) { return $this->date_compare($date_1, $date_2, '<='); } /** * Date is next day * * @param [type] $date_1 . * @param [type] $date_2 . * * @author Jewel Theme */ public function date_is_next($date_1, $date_2 = null) { return $this->date_compare($date_1, $date_2, '>'); } /** * Current date or next date * * @param [type] $date_1 . * @param [type] $date_2 . * * @author Jewel Theme */ public function date_is_current_or_next($date_1, $date_2 = null) { return $this->date_compare($date_1, $date_2, '>='); } /** * Date increament * * @param [type] $date . * @param [type] $days . * * @author Jewel Theme */ public function date_increment($date, $days) { return gmdate('Y-m-d', strtotime($date . " + $days days")); } }