/** * Datetime to imestamp with timezone * @since 1.0.1 * @param string $value Meta value * @return string Timestring */ public function text_datetime_timestamp_timezone($value, $repeat = false) { $test = is_array($value) ? array_filter($value) : ''; if (empty($test)) { return ''; } if ($repeat_value = $this->_check_repeat($value, __FUNCTION__, $repeat)) { return $repeat_value; } $tzstring = null; if (is_array($value) && array_key_exists('timezone', $value)) { $tzstring = $value['timezone']; } if (empty($tzstring)) { $tzstring = cmb_Meta_Box::timezone_string(); } $offset = cmb_Meta_Box::timezone_offset($tzstring, true); if (substr($tzstring, 0, 3) === 'UTC') { $tzstring = timezone_name_from_abbr('', $offset, 0); } $value = new DateTime($value['date'] . ' ' . $value['time'], new DateTimeZone($tzstring)); $value = serialize($value); return $value; }
/** * Offset a time value based on timezone * @since 1.0.0 * @return string Offset time string */ public function field_timezone_offset() { return cmb_Meta_Box::timezone_offset($this->field_timezone()); }
/** * Datetime to imestamp with timezone * @since 1.0.1 * @param string $meta Meta value * @return string Timestring */ public static function text_datetime_timestamp_timezone($meta) { $test = is_array($meta) ? array_filter($meta) : ''; if (empty($test)) { return ''; } $tzstring = null; if (is_array($meta) && array_key_exists('timezone', $meta)) { $tzstring = $meta['timezone']; } if (empty($tzstring)) { $tzstring = cmb_Meta_Box::timezone_string(); } $offset = cmb_Meta_Box::timezone_offset($tzstring, true); if (substr($tzstring, 0, 3) === 'UTC') { $tzstring = timezone_name_from_abbr('', $offset, 0); } $meta = new DateTime($meta['date'] . ' ' . $meta['time'], new DateTimeZone($tzstring)); $meta = serialize($meta); return $meta; }