/** * creates formatted output for calendar component property data value type date/date-time * * @author Kjell-Inge Gustafsson, kigkonsult <*****@*****.**> * @since 2.4.8 - 2008-10-30 * @param array $datetime * @param int $parno, optional, default 6 * @return string */ public static function _format_date_time($datetime, $parno = 6) { if (!isset($datetime['year']) && !isset($datetime['month']) && !isset($datetime['day']) && !isset($datetime['hour']) && !isset($datetime['min']) && !isset($datetime['sec'])) { return; } $output = null; // if( !isset( $datetime['day'] )) { $o=''; foreach($datetime as $k=>$v) {if(is_array($v)) $v=implode('-',$v);$o.=" $k=>$v";} echo " day SAKNAS : $o <br />\n"; } foreach ($datetime as $dkey => &$dvalue) { if ('tz' != $dkey) { $dvalue = (int) $dvalue; } } $output = date('Ymd', mktime(0, 0, 0, $datetime['month'], $datetime['day'], $datetime['year'])); if (isset($datetime['hour']) || isset($datetime['min']) || isset($datetime['sec']) || isset($datetime['tz'])) { if (isset($datetime['tz']) && !isset($datetime['hour'])) { $datetime['hour'] = 0; } if (isset($datetime['hour']) && !isset($datetime['min'])) { $datetime['min'] = 0; } if (isset($datetime['hour']) && isset($datetime['min']) && !isset($datetime['sec'])) { $datetime['sec'] = 0; } $date = mktime($datetime['hour'], $datetime['min'], $datetime['sec'], $datetime['month'], $datetime['day'], $datetime['year']); $output .= date('\\THis', $date); if (isset($datetime['tz']) && '' < trim($datetime['tz'])) { $datetime['tz'] = trim($datetime['tz']); if ('Z' == $datetime['tz']) { $output .= 'Z'; } $offset = iCal_UtilityFunctions::_tz2offset($datetime['tz']); if (0 != $offset) { $date = mktime($datetime['hour'], $datetime['min'], $datetime['sec'] + $offset, $datetime['month'], $datetime['day'], $datetime['year']); $output = date('Ymd\\THis\\Z', $date); } } elseif (7 == $parno) { $output .= 'Z'; } } return $output; }