IntlDateFormatter::parse

datefmt_parse

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

IntlDateFormatter::parse -- datefmt_parse — æ–‡ć­—ćˆ—ă‚’ăƒ‘ăƒŒă‚čă—ăŠă‚żă‚€ăƒ ă‚čă‚żăƒłăƒ—ă«ă™ă‚‹

èȘŹæ˜Ž

ă‚Șăƒ–ă‚žă‚§ă‚ŻăƒˆæŒ‡ć‘ćž‹

public function IntlDateFormatter::parse(string $string, int &$offset = null): int|float|false

æ‰‹ç¶šăćž‹

function datefmt_parse(IntlDateFormatter $formatter, string $string, int &$offset = null): int|float|false

string ă‚’æ™‚é–“ă«ć€‰æ›ă—ăŸă™ă€‚offset ă‹ă‚‰ăƒ‘ăƒŒă‚čを開構し、 ć…„ćŠ›ć€€ă‚’ćŻèƒœăȘé™ă‚Šäœżç”šă—ăŸă™ă€‚

ăƒ‘ăƒ©ăƒĄăƒŒă‚ż

formatter

Formatter ăƒȘă‚œăƒŒă‚č。

string

æ™‚é–“ă«ć€‰æ›ă™ă‚‹æ–‡ć­—ćˆ—ă€‚

offset

string ăźăƒ‘ăƒŒă‚čă‚’é–‹ć§‹ă™ă‚‹äœçœź (ă‚Œăƒ­ă‹ă‚‰æ•°ăˆăŸă™)。 string ă‚’ć‡Šç†ă™ă‚‹ć‰ă«ă‚šăƒ©ăƒŒăŒç™ș生しどいăȘい栮搈は offset は -1 ずăȘă‚ŠăŸă™ă€‚ăă‚Œä»„ć€–ăźć ŽćˆăŻăƒ‘ăƒŒă‚čăŒç”‚äș†ă—ăŸäœçœźăšăȘă‚ŠăŸă™ (ăă—ăŠă‚šăƒ©ăƒŒăŒç™șç”Ÿă—ăŸă™)。 ă“ăźć€‰æ•°ă«ăŻă€ăƒ‘ăƒŒă‚čăŒć€±æ•—ă—ăŸć Žćˆă«ăăźç”‚äș†äœçœźăŒć«ăŸă‚ŒăŸă™ă€‚ offset > strlen($string) ăźć Žćˆă€ăƒ‘ăƒŒă‚čăŻćłæ™‚ă«ć€±æ•—ă—ăŸă™ă€‚

æˆ»ă‚Šć€€

ă‚żă‚€ăƒ ă‚čă‚żăƒłăƒ—ăšă—ăŠăƒ‘ăƒŒă‚čă•ă‚ŒăŸć€€ă‚’èż”ă—ăŸă™ă€‚ ăƒ‘ăƒŒă‚čできăȘかった栮搈は false ă‚’èż”ă—ăŸă™ă€‚

䟋

䟋1 ă‚Șăƒ–ă‚žă‚§ă‚ŻăƒˆæŒ‡ć‘ăźäŸ‹

<?php
$fmt
= new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo
'First parsed output is ' . $fmt->parse('Wednesday, December 20, 1989 4:00:00 PM PT');
$fmt = new IntlDateFormatter(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
?>

䟋2 datefmt_parse() ăźäŸ‹

<?php
$fmt
= datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo
'First parsed output is ' . datefmt_parse($fmt, 'Wednesday, December 20, 1989 4:00:00 PM PT');
$fmt = datefmt_create(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo
'Second parsed output is ' . datefmt_parse($fmt, 'Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00');
?>

äžŠăźäŸ‹ăźć‡ș抛は仄䞋ずăȘă‚ŠăŸă™ă€‚

First parsed output is 630201600
Second parsed output is 630201600

ć‚è€ƒ

  • datefmt_create() - Date Formatter ă‚’äœœæˆă™ă‚‹
  • datefmt_format() - 旄付/æ™‚ćˆ» ăźć€€ă‚’æ–‡ć­—ćˆ—ăšă—ăŠăƒ•ă‚©ăƒŒăƒžăƒƒăƒˆă™ă‚‹
  • datefmt_localtime() - æ–‡ć­—ćˆ—ă‚’ăƒ‘ăƒŒă‚čă—ăŠă€ăƒ•ă‚ŁăƒŒăƒ«ăƒ‰ăƒ™ăƒŒă‚čăźæ™‚ćˆ»ć€€ă«ă™ă‚‹
  • datefmt_get_error_code() - ç›Žèż‘ăźæ“äœœăźă‚šăƒ©ăƒŒă‚łăƒŒăƒ‰ă‚’ć–ćŸ—ă™ă‚‹
  • datefmt_get_error_message() - ç›Žèż‘ăźæ“äœœăźă‚šăƒ©ăƒŒăƒ†ă‚­ă‚čăƒˆă‚’ć–ćŸ—ă™ă‚‹
add a note

User Contributed Notes 1 note

up
0
Anonymous ¶
7 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.