Don't forget that fromDateTime() doesn't set any locale and that the default one will be set. In my case it was en_US_POSIX.
If you wan't to create a IntlCalendar object containing the values of a DateTime object with your locale, use createInstance() instead and do a
<?php
$intlCalendar->setTime($dateTime->getTimestamp() * 1000);
?>
IntlCalendar works with milliseconds so you need to multiply the timestamp with 1000.
Using fromDateTime() can cause unwanted behaviour like getFirstDayOfWeek() returning a wrong integer.IntlCalendar::fromDateTime
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
IntlCalendar::fromDateTime
Референца за `intlcalendar.fromdatetime.php` со подобрена типографија и навигација.
IntlCalendar::fromDateTime
(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a2)
IntlCalendar::fromDateTime — (PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a2)
= NULL
Напиши целосна ознака на елемент
$datetime, ?string $locale = null): ?IntlCalendarПроцедурален стил
Создава IntlCalendar Креирај IntlCalendar од DateTime објект или стринг DateTime објект или од стринг DateTime објект или од стринг од кој може да се изгради
објект. DateTime Новиот календар ќе претставува не само ист момент како дадениот
Параметри
datetime-
А DateTime објект или string (подложно на загуба на прецизност за датуми многу далеку во минатото или иднината), туку и иста временска зона (подложно на предупредување дека ќе се користат различни бази на податоци за временски зони, и затоа резултатите може да се разликуваат). Ова е процедурална верзија на.
Вратени вредности
Креираното IntlCalendar објект или null што може да се предаде на string во случај на неуспех. Ако DateTime се предаде, секое исклучок што ќе се случи внатре во
Примери
Пример #1 IntlCalendar::toDateTime()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
//same as IntlCalendar::fromDateTime(new DateTime(...))
$cal1 = IntlCalendar::fromDateTime('2013-02-28 00:01:02 Europe/Berlin', 'de_DE');
//Note the timezone is Europe/Berlin, not the default Europe/Lisbon
echo IntlDateFormatter::formatObject($cal1, 'yyyy MMMM d HH:mm:ss VVVV', 'de_DE'), "\n";Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
2013 Februar 28 00:01:02 Deutschland Zeit