(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::__construct -- timezone_open — Yeni bir DateTimeZone nesnesi oluşturur
Nesne yönelimli kullanım
Yordamsal kullanım
Yeni bir DateTimeZone nesnesi oluşturur.
DateTimeZone nesnesi farklı türde üç zaman dilimi kuralına erişim sağlar:
UTC başlangıcı (1
. tür), zaman dilimi kısaltması
(2
. tür) ve IANA zaman dilimi veritabanında yayınlanan
zaman dilimi belirteçleri
(3
. tür).
DateTimeZone nesnesi, yerel bir saat diliminde DateTime ve DateTimeImmutable nesneleriyle gösterilen saat dilimini oluşturabilmek için bu nesnelere eklenebilir.
timezone
Desteklenen zaman dilimlerinden biri, saat farkı (+0200) veya zaman dilimi kısaltması (BST).
Başarılı olduğunda yeni bir DateTimeZone nesnesi
döndürür. Yordamsal kullanım
başarısızlık durumunda false
döndürür.
Eğer zaman dilimi geçerli bir zaman dilimi değilse bu işlev DateInvalidTimeZoneException istisnası oluşturur. PHP 8.3 öncesinde Exception istisnası oluşuyordu.
Sürüm: | Açıklama |
---|---|
8.3.0 | Geçersiz değerler Exception yerine artık DateInvalidTimeZoneException istisnası oluşturuyor. |
Örnek 1 - DateTimeZone oluşturmak ve DateTimeImmutable nesnesine eklemek
<?php
$d = new DateTimeImmutable("2022-06-02 15:44:48 UTC");
$timezones = [ 'Europe/London', 'GMT+04:45', '-06:00', 'CEST' ];
foreach ($timezones as $tz) {
$tzo = new DateTimeZone($tz);
$local = $d->setTimezone($tzo);
echo $local->format(DateTimeInterface::RFC2822 . ' — e'), "\n";
}
?>
Yukarıdaki örneğin çıktısı:
Örnek 2 - DateTimeZone örneklenirken hataların yakalanması
<?php
// Yakalanan istisna nesneleriyle hata işlenmesine örnek
$zamandilimleri = array('Europe/Istanbul', 'Mars/Phobos', 'Jupiter/Europa');
foreach ($zamandilimleri as $zd) {
try {
$mars = new DateTimeZone($zd);
} catch(Exception $e) {
echo $e->getMessage() . '<br />';
}
}
?>
Yukarıdaki örneğin çıktısı:
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Mars/Phobos) DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Jupiter/Europa)