<?php

ini_set("intl.error_level", E_WARNING);
ini_set("intl.default_locale", "nl");
$intlcal = new IntlGregorianCalendar(2012, 1, 28);
var_dump($intlcal->roll(IntlCalendar::FIELD_DAY_OF_MONTH, true));
var_dump($intlcal->get(IntlCalendar::FIELD_MONTH));
//1 (Feb)
var_dump($intlcal->get(IntlCalendar::FIELD_DAY_OF_MONTH));
//29
var_dump(intlcal_roll($intlcal, IntlCalendar::FIELD_DAY_OF_MONTH, false));
var_dump($intlcal->get(IntlCalendar::FIELD_MONTH));
//1 (Feb)
var_dump($intlcal->get(IntlCalendar::FIELD_DAY_OF_MONTH));
//28
?>
==DONE==
<?php

ini_set("intl.error_level", E_WARNING);
$c = new IntlGregorianCalendar(NULL, 'pt_PT');
var_dump($c->get());
var_dump($c->getActualMaximum());
var_dump($c->getActualMinimum());
var_dump($c->get(-1));
var_dump($c->getActualMaximum(-1));
var_dump($c->getActualMinimum(-1));
var_dump($c->get("s"));
var_dump($c->getActualMaximum("s"));
var_dump($c->getActualMinimum("s"));
var_dump($c->get(1, 2));
var_dump($c->getActualMaximum(1, 2));
var_dump($c->getActualMinimum(1, 2));
<?php 
ini_set("intl.error_level", E_WARNING);
ini_set("intl.default_locale", "nl");
date_default_timezone_set('Europe/Amsterdam');
//25 March 2012, transition to DST
$intlcal = new IntlGregorianCalendar(2012, 2, 25, 0, 0, 0);
var_dump($intlcal->getSkippedWallTimeOption());
$intlcal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 2);
$intlcal->set(IntlCalendar::FIELD_MINUTE, 30);
echo "Should be 3h30\n";
var_dump($intlcal->get(IntlCalendar::FIELD_HOUR_OF_DAY), $intlcal->get(IntlCalendar::FIELD_MINUTE));
var_dump($intlcal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_FIRST));
var_dump(intlcal_get_skipped_wall_time_option($intlcal));
$intlcal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 2);
$intlcal->set(IntlCalendar::FIELD_MINUTE, 30);
echo "Should be 1h30\n";
var_dump($intlcal->get(IntlCalendar::FIELD_HOUR_OF_DAY), $intlcal->get(IntlCalendar::FIELD_MINUTE));
var_dump(intlcal_set_skipped_wall_time_option($intlcal, IntlCalendar::WALLTIME_NEXT_VALID));
var_dump($intlcal->getSkippedWallTimeOption());
$intlcal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 2);
$intlcal->set(IntlCalendar::FIELD_MINUTE, 30);
echo "Should be 3h00\n";
var_dump($intlcal->get(IntlCalendar::FIELD_HOUR_OF_DAY), $intlcal->get(IntlCalendar::FIELD_MINUTE));
?>
==DONE==