1--TEST-- 2IntlDateFormatter: several forms of the timezone arg 3--SKIPIF-- 4<?php 5if (!extension_loaded('intl')) die('skip intl extension not enabled'); ?> 6<?php if (version_compare(INTL_ICU_VERSION, '52.1') < 0) die('skip for ICU >= 52.1'); ?> 7<?php if (version_compare(INTL_ICU_VERSION, '54.1') >= 0) die('skip for ICU < 54.1'); ?> 8--FILE-- 9<?php 10ini_set("intl.error_level", E_WARNING); 11ini_set("date.timezone", 'Atlantic/Azores'); 12 13$ts = strtotime('2012-01-01 00:00:00 UTC'); 14 15//should use Atlantic/Azores 16$df = new IntlDateFormatter('es_ES', 0, 0, NULL); 17echo $df->format($ts), "\n"; 18 19$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam'); 20echo $df->format($ts), "\n"; 21 22$df = new IntlDateFormatter('es_ES', 0, 0, new DateTimeZone('Europe/Lisbon')); 23echo $df->format($ts), "\n"; 24 25$df = new IntlDateFormatter('es_ES', 0, 0, IntlTimeZone::createTimeZone('America/New_York')); 26echo $df->format($ts), "\n"; 27 28//time zone has priority 29$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam', new IntlGregorianCalendar('Europe/Lisbon')); 30echo $df->format($ts), "\n"; 31 32//calendar has priority 33$df = new IntlDateFormatter('es_ES', 0, 0, NULL, new IntlGregorianCalendar('Europe/Lisbon')); 34echo $df->format($ts), "\n"; 35 36$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam', 0); 37echo $df->format($ts), "\n"; 38--EXPECTF-- 39sábado%S 31 de diciembre de 2011, 23:00:00 (Hora estándar de las Azores) 40domingo%S 1 de enero de 2012, 1:00:00 (Hora estándar de Europa central) 41domingo%S 1 de enero de 2012, 0:00:00 (Hora%S estándar de Europa occidental) 42sábado%S 31 de diciembre de 2011, 19:00:00 (Hora estándar oriental) 43domingo%S 1 de enero de 2012, 1:00:00 (Hora estándar de Europa central) 44domingo%S 1 de enero de 2012, 0:00:00 (Hora%S estándar de Europa occidental) 45domingo%S 1 de enero de 2012, 1:00:00 (Hora estándar de Europa central) 46