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==DONE==
42--EXPECTF--
43domingo, 1 de Janeiro de 2012 às 03:00:00 GMT+03:00
44string(12) "Europe/Minsk"
45string(12) "Europe/Minsk"
46
47sábado, 31 de Dezembro de 2011 às 23:00:00 Hor%s Padrão %Sdos Açores
48string(15) "Atlantic/Azores"
49string(15) "Atlantic/Azores"
50
51domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central
52string(13) "Europe/Madrid"
53string(13) "Europe/Madrid"
54
55domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central
56string(12) "Europe/Paris"
57string(12) "Europe/Paris"
58
59domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central
60string(16) "Europe/Amsterdam"
61string(16) "Europe/Amsterdam"
62
63==DONE==
64