<?php

ini_set("intl.error_level", E_WARNING);
ini_set("intl.default_locale", "pt_PT");
ini_set("date.timezone", "Europe/Lisbon");
$cal = IntlCalendar::fromDateTime('2012-01-01 00:00:00');
//Europe/Lisbon
echo IntlDateFormatter::formatObject($cal), "\n";
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo IntlDateFormatter::formatObject($cal, null, "en-US"), "\n";
echo IntlDateFormatter::formatObject($cal, array(IntlDateFormatter::SHORT, IntlDateFormatter::FULL), "en-US"), "\n";
echo IntlDateFormatter::formatObject($cal, 'E y-MM-d HH,mm,ss.SSS v', "en-US"), "\n";
$cal = IntlCalendar::fromDateTime('2012-01-01 05:00:00+03:00');
echo datefmt_format_object($cal, IntlDateFormatter::FULL), "\n";
$cal = IntlCalendar::createInstance(null, 'en-US@calendar=islamic-civil');
$cal->setTime(strtotime('2012-01-01 00:00:00') * 1000.0);
echo IntlDateFormatter::formatObject($cal), "\n";
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL, "en-US"), "\n";
?>
==DONE==
Example #2
0
 public function it_should_convert_intl_gregorian_calendar()
 {
     if (!class_exists('\\IntlCalendar')) {
         return;
     }
     $this::import(\IntlCalendar::fromDateTime(date_create()))->shouldHaveType('Danhunsaker\\Calends\\Calends');
     $this->convert('IntlGregorianCalendar')->shouldHaveKey('duration');
 }
 /**
  * @return array
  */
 public function dataProviderFormatObject()
 {
     $date = new \DateTime('2013-06-06 17:05:06 Europe/Dublin');
     $calendar = \IntlCalendar::fromDateTime('2013-06-06 17:05:06 Europe/Dublin');
     return [[$date, null, null], [$date, \IntlDateFormatter::FULL, null], [$date, null, 'en-US'], [$date, [\IntlDateFormatter::SHORT, \IntlDateFormatter::FULL], 'en-US'], [$date, 'E y-MM-d HH,mm,ss.SSS v', 'en-US'], [$date, [\IntlDateFormatter::NONE, \IntlDateFormatter::FULL], null], [$date, "d 'of' MMMM y", 'en_US'], [new \DateTime('2013-09-09 09:09:09 Europe/Madrid'), \IntlDateFormatter::FULL, 'es_ES'], [new \DateTime('2013-09-09 09:09:09 -01:00'), null, null], [new \DateTime('2013-09-09 09:09:09 +01:00'), null, null], [$calendar, null, null], [$calendar, \IntlDateFormatter::FULL, null], [$calendar, null, 'en-US'], [$calendar, [\IntlDateFormatter::SHORT, \IntlDateFormatter::FULL], 'en-US'], [$calendar, 'E y-MM-d HH,mm,ss.SSS v', 'en-US'], [$calendar, [\IntlDateFormatter::NONE, \IntlDateFormatter::FULL], null], [$calendar, "d 'of' MMMM y", 'en_US'], [\IntlCalendar::fromDateTime('2013-09-09 09:09:09 Europe/Madrid'), \IntlDateFormatter::FULL, 'es_ES'], [\IntlCalendar::fromDateTime('2013-09-09 09:09:09 -01:00'), null, null], [\IntlCalendar::fromDateTime('2013-09-09 09:09:09 +01:00'), null, null]];
 }
<?php

ini_set("intl.error_level", E_WARNING);
ini_set("intl.default_locale", "nl");
date_default_timezone_set('Europe/Lisbon');
var_dump(IntlCalendar::fromDateTime());
var_dump(IntlCalendar::fromDateTime(0, 1, 2));
try {
    IntlCalendar::fromDateTime("foobar");
} catch (Exception $e) {
    echo "threw exception, OK";
}
class A extends DateTime
{
    function __construct()
    {
    }
}
var_dump(IntlCalendar::fromDateTime(new A()));
$date = new DateTime('2012-01-01 00:00:00 +24:00');
var_dump(IntlCalendar::fromDateTime($date));
$date = new DateTime('2012-01-01 00:00:00 WEST');
var_dump(IntlCalendar::fromDateTime($date));
var_dump(intlcal_from_date_time());
<?php

ini_set("intl.error_level", E_WARNING);
ini_set("intl.default_locale", "nl_NL");
date_default_timezone_set('Europe/Lisbon');
$cal = IntlCalendar::fromDateTime('2012-01-01 00:00:00 Europe/Rome');
var_dump($cal->getTime(), strtotime('2012-01-01 00:00:00 Europe/Rome') * 1000.0, $cal->getTimeZone()->getID(), $cal->getLocale(1));
echo "\n";
$cal = IntlCalendar::fromDateTime(new DateTime('2012-01-01 00:00:00 PST'), "pt_PT");
var_dump($cal->getTime(), strtotime('2012-01-01 00:00:00 PST') * 1000.0, $cal->getTimeZone()->getID(), $cal->getLocale(1));
echo "\n";
$cal = intlcal_from_date_time(new DateTime('2012-01-01 00:00:00 +03:40'));
var_dump($cal->getTime(), strtotime('2012-01-01 00:00:00 +03:40') * 1000.0, $cal->getTimeZone()->getID());