PHP Conference Nagoya 2025

IntlDateFormatter::parse

datefmt_parse

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::parse -- datefmt_parseDizgeyi bir zaman damgası değerine dönüştürür

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::parse(string $dizge, int &$başlangıç = null): int|float|false

Yordamsal kullanım

datefmt_parse(IntlDateFormatter $biçemleyici, string $dizge, int &$başlangıç = null): int|float|false

Belirtilen dizge'nin başlangıç konumundan itibaren olabildiğinçe çok veri toplayarak bir arttırımlı zaman değeri oluşturmaya çalışır.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

dizge

Zaman damgasına dönüştürülecek dizge.

başlangıç

başlangıç, dizgenin başlangıcı 0 kabul edilerek bulunur. Dizgeden veri toplanırken bir hata oluşmazsa, bu bağımsız değişkene -1 yerleştirilir, aksi takdirde hata oluştuğu sırada okunan son konum yerleştirilir. başlangıç > strlen($string) ise çözümleme, anında başarısız olur.

Dönen Değerler

Zaman damgası, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Nesne yönelimli kullanım örneği

<?php
$fmt
= new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo
"İlk çözümleme sonucu: ".
$fmt->parse("Wednesday, December 20, 1989 4:00:00 PM Pacific Standard Time");
$fmt = new IntlDateFormatter(
'tr_TR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo
"\nİkinci çözümleme sonucu: ".
$fmt->parse("21 Aralık 1989 Perşembe 02:00:00 Doğu Avrupa Standart Saati")."\n";
?>

Örnek 2 - datefmt_parse() örneği

<?php
$fmt
= datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo
"İlk çözümleme sonucu: ". datefmt_parse( $fmt,
"Wednesday, December 20, 1989 4:00:00 PM Pacific Standard Time");
$fmt = datefmt_create(
$fmt = new IntlDateFormatter(
'tr_TR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo
"\nİkinci çözümleme sonucu: ".datefmt_parse( $fmt,
"21 Aralık 1989 Perşembe 02:00:00 Doğu Avrupa Standart Saati")."\n";
?>

Yukarıdaki örneğin çıktısı:

İlk çözümleme sonucu: 630201600
İkinci  çözümleme sonucu: 630201600

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
0
Anonymous
6 years ago
Please note:
* on a 32-bit system, parse() will return float if the value gets out of integer range
* while parse() parses fractional seconds with a format like 'yyyy-MM-dd HH:mm:ss.SSSSSS', it only returns an int. This is also true when the value is returned as float, msecs remain absent in the return value.
To Top