1--TEST--
2IntlDateFormatter: get/setTimeZone()
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("intl.default_locale", "pt_PT");
12ini_set("date.timezone", 'Atlantic/Azores');
13
14$ts = strtotime('2012-01-01 00:00:00 UTC');
15
16function d(IntlDateFormatter $df) {
17global $ts;
18echo $df->format($ts), "\n";
19var_dump(
20$df->getTimeZoneID(),
21$df->getTimeZone()->getID());
22echo "\n";
23}
24
25$df = new IntlDateFormatter('pt_PT', 0, 0, 'Europe/Minsk');
26d($df);
27
28$df->setTimeZone(NULL);
29d($df);
30
31$df->setTimeZone('Europe/Madrid');
32d($df);
33
34$df->setTimeZone(IntlTimeZone::createTimeZone('Europe/Paris'));
35d($df);
36
37$df->setTimeZone(new DateTimeZone('Europe/Amsterdam'));
38d($df);
39
40?>
41--EXPECTF--
42domingo, 1 de Janeiro de 2012 às 03:00:00 GMT+03:00
43string(12) "Europe/Minsk"
44string(12) "Europe/Minsk"
45
46sábado, 31 de Dezembro de 2011 às 23:00:00 Hor%s Padrão %Sdos Açores
47string(15) "Atlantic/Azores"
48string(15) "Atlantic/Azores"
49
50domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central
51string(13) "Europe/Madrid"
52string(13) "Europe/Madrid"
53
54domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central
55string(12) "Europe/Paris"
56string(12) "Europe/Paris"
57
58domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central
59string(16) "Europe/Amsterdam"
60string(16) "Europe/Amsterdam"
61
62