/** * @example truncDate($date[, $min[, $max]]); * @param $date Date Datum das gekürzt werden sollte * @param $min String Schlüssel der unteren Limite * @param $max String Schlüssel der obeen Limite * @return Date gekürztes Datum */ function truncDate($date, $min = 'mday', $max = 'year'){ $order = array('seconds', 'minutes', 'hours', 'mday', 'mon', 'year',); $minId = array_search($min, $order); $maxId = array_search($max, $order); $dateInfo = getdate($date); $keys = array_flip(array_slice($order, $minId, $maxId-$minId+1, true)); $parts = array_intersect_key($dateInfo, $keys); $defaults = array_fill_keys(array_keys($dateInfo), 0); $parts = array_merge($defaults, $parts); return mktime($parts['seconds'], $parts['minutes'], $parts['hours'], $parts['mon'], $parts['mday'], $parts['year']); }