date_sub> <date_parse_from_format
Last updated: Fri, 13 Nov 2009

date_parse

(PHP 5 >= 5.2.0)

date_parseRetorna um array associativo com detalhes sobre uma dada data

Descrição

array date_parse ( string $date )

Parâmetros

date

Data no formato aceito pela strtotime().

Valor Retornado

Retorna um array com informação sobre a data analisada em sucesso, ou FALSE em falha.

Erros

No caso do formato da data conter erro, o elemento 'erros' conterá as mensagens de erro.

Exemplos

Exemplo #1 Um exemplo da date_parse()

<?php
print_r
(date_parse("2006-12-12 10:00:00.5"));
?>

O exemplo acima irá imprimir:

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array()
    [error_count] => 0
    [errors] => Array()
    [is_localtime] =>
)

Veja Também

  • getdate() - Consegue informações data/hora



date_sub> <date_parse_from_format
Last updated: Fri, 13 Nov 2009
 
User Contributed Notes
date_parse
eugene at ultimatecms dot co dot za
23-Nov-2009 08:43
<?php

$ida
= '091122671325';
$idb = '091123671325';

// This function will match the identity number up to the day, but only for a maximum of 99years+364days.
// Will not work when checking persons older than 100years-1day.

function idtodate($id)
{
       
$year = date("Y");
       
$month = date("m");
       
$day = date("d");

       
$nc = substr($year, 0, 2);
       
$ny = substr($year, 2, 2);

       
$y = substr($id, 0, 2);
       
$m = substr($id, 2, 2);
       
$d = substr($id, 4, 2);

        if(
$y.$m.$d <= $ny.$month.$day-1) {
               
$newc = $nc;
        } else {
               
$newc = $nc-1;
        }

       
$new = $newc.$y;

        return array(
'year' => $new, 'month' => $m, 'day' => $d);
}

echo
'ID: '.$ida.'<br>';
print_r(idtodate($ida));

echo
'<br><br>';

echo
'ID: '.$idb.'<br>';
print_r(idtodate($idb));

?>

Output:
1. If the year-month-day is smaller than today (2009-11-23), but bigger than 1999: year => 2009
ID: 091122671325
Array ( [year] => 2009 [month] => 11 [day] => 22 )

2. If the year-month-day is the same as, or bigger than today, but smaller than 2000: year => 1909
ID: 091123671325
Array ( [year] => 1909 [month] => 11 [day] => 23 )
alan at wilcoxengineering dot com
14-Aug-2009 03:02
Caution: date_parse expects months 1..12 only.

date_parse("13/1/5769")  for  month=13, Ehul in Jewish calendar, results in  month==3 instead of month==13.

It does, however, report the error array showing "Unexpected Character."

It would be nice if date_parse could handle the months properly (just report back a "13" for the month). The older approach of substr() is my workaround.
gpayne at galenaparkisd com
29-Sep-2007 08:52
Careful - date_parse is perfectly happy with something like this:

 date_parse("2006-2-31");

date_sub> <date_parse_from_format
Last updated: Fri, 13 Nov 2009