CascadiaPHP 2024

IntlDateFormatter::parse

datefmt_parse

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

IntlDateFormatter::parse -- datefmt_parseInterpreta uma string para uma valor de timestamp

Descrição

Estilo orientado a objetos

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

Estilo procedural

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

Converte string para um valor de tempo incremental, iniciando em offset e consumindo o máximo possível do valor de entrada.

Parâmetros

formatter

O recurso do formatador

string

String a ser convertida para um horário.

offset

Posição na qual será iniciada a interpretação da string (baseada em zero). Se nenhum erro ocorrer antes que a string seja consumida, offset conterá -1, caso contrário conterá a posição na qual a interpretação terminou (e onde o erro ocorreu). Se offset > strlen($string), a interpretação falha imediatamente.

Valor Retornado

Timestamp do valor interpretado, ou false se o valor não puder ser interpretado.

Exemplos

Exemplo #1 Exemplo OO

<?php
$fmt
= new IntlDateFormatter(
'pt_BR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Sao_Paulo', IntlDateFormatter::GREGORIAN
);
echo
'Primeira saída interpretada: ' . $fmt->parse('quinta-feira, 20 de julho de 1989 21:00:00 Horário Padrão de Brasília');
$fmt = new IntlDateFormatter(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Sao_Paulo',
IntlDateFormatter::GREGORIAN
);
echo
'Segunda saída interpretada: ' . datefmt_parse($fmt, 'Donnerstag, 20. Juli 1989 um 21:00:00 Brasília-Normalzeit');
?>

Exemplo #2 datefmt_parse() example

<?php
$fmt
= datefmt_create(
'pt_BR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Sao_Paulo',
IntlDateFormatter::GREGORIAN
);
echo
'Primeira saída interpretada: ' . datefmt_parse($fmt, 'quinta-feira, 20 de julho de 1989 21:00:00 Horário Padrão de Brasília');
$fmt = datefmt_create(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Sao_Paulo',
IntlDateFormatter::GREGORIAN
);
echo
'Segunda saída interpretada: ' . datefmt_parse($fmt, 'Donnerstag, 20. Juli 1989 um 21:00:00 Brasília-Normalzeit');
?>

O exemplo acima produzirá:

Primeira saída interpretada: 616982400
Segunda saída interpretada: 616982400

Veja Também

add a note

User Contributed Notes 1 note

up
1
Anonymous
5 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