Parameters

Locale to use when formatting or parsing or NULL to use the value
specified in the ini setting intl.default_locale.

datetype

Date type to use (none, short,
medium, long,
full). This is one of the IntlDateFormatter
constants. It can also be NULL, in which case ICUʼs default
date type will be used.

timetype

Time type to use (none, short,
medium, long,
full). This is one of the IntlDateFormatter
constants. It can also be NULL, in which case ICUʼs default
time type will be used.

timezone

Time zone ID. The default (and the one used if NULL is given) is the
one returned by date_default_timezone_get() or, if
applicable, that of the IntlCalendar object passed
for the calendar parameter. This ID must be a
valid identifier on ICUʼs database or an ID representing an
explicit offset, such as GMT-05:30.

Calendar to use for formatting or parsing. The default value is NULL,
which corresponds to IntlDateFormatter::GREGORIAN.
This can either be one of the
IntlDateFormatter
calendar constants or an IntlCalendar. Any
IntlCalendar object passed will be clone; it will
not be changed by the IntlDateFormatter. This will
determine the calendar type used (gregorian, islamic, persian, etc.) and,
if NULL is given for the timezone parameter,
also the timezone used.

Documentation says "timezone: Time zone ID, default is system default."

The "system default" really means only the "TZ" environment variable on Unix/Linux systems. It does not mean PHP ini setting or value set via date_default_timezone_set() or the OS default time zone in file "/etc/timezone".