示例#1
0
 private function formatTimestamps(\IntlDateFormatter $formatter, $regex, array $timestamps)
 {
     $pattern = $formatter->getPattern();
     $timezone = $formatter->getTimezoneId();
     $formattedTimestamps = array();
     $formatter->setTimeZone('UTC');
     if (preg_match($regex, $pattern, $matches)) {
         $formatter->setPattern($matches[0]);
         foreach ($timestamps as $timestamp => $choice) {
             $formattedTimestamps[$formatter->format($timestamp)] = $choice;
         }
         // I'd like to clone the formatter above, but then we get a
         // segmentation fault, so let's restore the old state instead
         $formatter->setPattern($pattern);
     }
     $formatter->setTimeZone($timezone);
     return $formattedTimestamps;
 }
示例#2
0
 private function formatTimestamps(\IntlDateFormatter $formatter, $regex, array $timestamps)
 {
     $pattern = $formatter->getPattern();
     $timezone = $formatter->getTimezoneId();
     if (version_compare(\PHP_VERSION, '5.5.0-dev', '>=')) {
         $formatter->setTimeZone(\DateTimeZone::UTC);
     } else {
         $formatter->setTimeZoneId(\DateTimeZone::UTC);
     }
     if (preg_match($regex, $pattern, $matches)) {
         $formatter->setPattern($matches[0]);
         foreach ($timestamps as $key => $timestamp) {
             $timestamps[$key] = $formatter->format($timestamp);
         }
         // I'd like to clone the formatter above, but then we get a
         // segmentation fault, so let's restore the old state instead
         $formatter->setPattern($pattern);
     }
     if (version_compare(\PHP_VERSION, '5.5.0-dev', '>=')) {
         $formatter->setTimeZone($timezone);
     } else {
         $formatter->setTimeZoneId($timezone);
     }
     return $timestamps;
 }
<?php

ini_set("intl.error_level", E_WARNING);
ini_set("intl.default_locale", "pt_PT");
ini_set("date.timezone", 'Atlantic/Azores');
$df = new IntlDateFormatter(NULL, 0, 0);
var_dump($df->setTimeZone());
var_dump(datefmt_set_timezone());
var_dump($df->setTimeZone(array()));
var_dump($df->setTimeZone(1, 2));
var_dump($df->setTimeZone('non existing timezone'));
var_dump(datefmt_set_timezone(new stdclass(), 'UTC'));
?>
==DONE==