(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
IntlDateFormatter::format -- datefmt_format — Tarih/saat değerini bir dizge olarak biçemler
Nesne yönelimli kullanım
$değer
): string|falseYordamsal kullanım
$biçemleyici
, IntlCalendar|DateTimeInterface|array|string|int|float$değer
): string|falseZaman değerini bir dizge olarak biçemler.
biçemleyici
Biçemleyici nesne.
değer
Biçemlenecek değer. Bu bir DateTimeInterface nesnesi, bir IntlCalendar nesnesi, Unix zaman başlangıcından itibaren saniye sayısını (muhtemelen kesirli) temsil eden sayısal bir tür veya localtime() tarafından çıktılanan biçimde bir dizi olabilir.
Değer olarak DateTime veya IntlCalendar nesnesi iletilirse, zaman dilimi dikkate alınmaz. Nesne, biçimlendiricinin yapılandırılmış zaman dilimi kullanılarak biçimlendirilir. Biçimlendirilecek nesnenin zaman dilimi kullanılmak istenirse, IntlDateFormatter::setTimeZone() nesnenin zaman dilimiyle çağrılmalıdır. Veya, bunun yerine IntlDateFormatter::formatObject() statik işlevi de kullanılabilir.
Bir hata oluşmuşsa false
aksi takdirde biçemli dizge.
Sürüm: | Açıklama |
---|---|
7.1.5 | değer bağımsız değişkenine genel DateTimeInterface nesnelerinin aktarımı artık destekleniyor. Evvelce, sadece uygun DateTime nesneleri desteklenirdi. |
PECL 3.0.0 | değer bağımsız değişkenine artık IntlCalendar nesneleri belirtilebiliyor. |
Örnek 1 - datefmt_format() örneği
<?php
$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "İlk biçemli çıktı: ".datefmt_format($fmt, 1234567890);
$fmt = datefmt_create(
"en-US",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "\nİkinci biçemli çıktı: ".datefmt_format($fmt, 1234567890);
$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"dd/MM/yyyy"
);
echo "\nİlk kalıbın çıktısı: ".datefmt_format( $fmt, 1234567890);
$fmt = datefmt_create(
"en-US",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"MM/dd/yyyy"
);
echo "\nİkinci kalıbın çıktısı: ".datefmt_format($fmt, 1234567890);
?>
Örnek 2 - Nesne yönelimli kullanım örneği
<?php
$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "İlk biçemli çıktı: ".$fmt->format(1234567890);
$fmt = new IntlDateFormatter(
"en-US",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "\nİkinci biçemli çıktı: ".$fmt->format(1234567890);
$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"dd/MM/yyyy"
);
echo "\nİlk kalıbın çıktısı: ".$fmt->format(1234567890);
$fmt = new IntlDateFormatter(
"en-US",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"MM/dd/yyyy"
);
echo "\nİkinci kalıbın çıktısı: ".$fmt->format(1234567890);
?>
Yukarıdaki örneğin çıktısı:
İlk biçemli çıktı: 14 Şubat 2009 Cumartesi 01:31:30 Doğu Avrupa Standart Saati İkinci biçemli çıktı: Saturday, February 14, 2009 at 1:31:30 AM Eastern European Standard Time İlk kalıbın çıktısı: 14/02/2009 İkinci kalıbın çıktısı: 02/14/2009
Örnek 3 - IntlCalendar nesnesi ile
<?php
$tz = reset(iterator_to_array(IntlTimeZone::createEnumeration('FR')));
$formatter = IntlDateFormatter::create(
'tr_TR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
$tz,
IntlDateFormatter::GREGORIAN
);
$cal = IntlCalendar::createInstance($tz, '@calendar=islamic-civil');
$cal->set(IntlCalendar::FIELD_MONTH, 8); //9. ay, Ramazan
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 1); //İlk gün
$cal->clear(IntlCalendar::FIELD_HOUR_OF_DAY);
$cal->clear(IntlCalendar::FIELD_MINUTE);
$cal->clear(IntlCalendar::FIELD_SECOND);
$cal->clear(IntlCalendar::FIELD_MILLISECOND);
echo "İslami yılda Ramazan başlangıcı:\n\t",
$formatter->format($cal), "\n";
// Biçemleyici zaman dilimi değişirse
$formatter->setTimeZone('Asia/Tokyo');
echo "Zaman dilimi değiştiğinde:\n\t",
$formatter->format($cal), "\n";
// Örnek hatalı... Gün doğru; saat yanlış.
Yukarıdaki örneğin çıktısı:
İslami yılda Ramazan başlangıcı: 13 Nisan 2021 Salı 15:00:00 Orta Avrupa Yaz Saati Zaman dilimi değiştiğinde: 13 Nisan 2021 Salı 22:00:00 Japonya Standart Saati