/** * Returns the current target timezone. * * @return string */ public function getTimezone() { return Craft::getTimezone(); }
/** * Parses a date param value to a DbCommand where condition. * * @param string $key * @param string $operator * @param string|array|DateTime $dates * @param array &$params * @return mixed */ public static function parseDateParam($key, $operator, $dates, &$params) { $conditions = array(); $dates = ArrayHelper::stringToArray($dates); foreach ($dates as $date) { if (!$date instanceof \DateTime) { $date = DateTime::createFromString($date, Craft::getTimezone()); } $param = ':p' . StringHelper::randomString(9); $params[$param] = DateTimeHelper::formatTimeForDb($date->getTimestamp()); $conditions[] = $key . $operator . $param; } if (count($conditions) == 1) { return $conditions[0]; } else { array_unshift($conditions, 'or'); return $conditions; } }