Problème fonction date à devenir fou

Nouveau WRInaute
bonjour, j'ai un problème avec une fonction, la voici:

<?php
$datelien=$_GET['date'];
$date = preg_replace( '#:)digit:{2}):)digit:{2}):)digit:{4})#', '$1/$2/$3 00:00:00', $datelien );
echo $date;
echo '<br />';
echo $datelien;
echo '<br />';
$timestamp = strtotime ($date);
echo '<br />';
echo date('d/m/Y', $timestamp);
?>

sur ma page /news.php?date=18051993 voila ce que j'obtiens :

18/05/1993 00:00:00 /* >>>>> normal
18051993 /* >>>> normal

05/06/1994 /*incomprehensible du moins pour moi

si quelqu'un avait une petit idée, ca m'arrangerait fortement. merci
 
WRInaute accro
Tu peux utiliser

$timestamp = mktime(heures, minutes, secondes, mois, jour, année);

après avoir fait un petit explode("-", $date) par exemple
 
Nouveau WRInaute
re:

oui exactement je m'en suis sorti comme ca, grâce à cette fonction
Code:
function JJMMAAAAToTimeStamp($value)
{
	$day = floor($value / 1000000);
	$month = floor(($value-$day*1000000)/10000);
	$year = $value-$day*1000000-$month*10000;
	return mktime (0, 0, 0, $month, $day, $year);
}

merci quand même et bon weekend.
 
WRInaute discret
jbtz64 a dit:
bonjour, j'ai un problème avec une fonction, la voici:

<?php
$datelien=$_GET['date'];
$date = preg_replace( '#:)digit:{2}):)digit:{2}):)digit:{4})#', '$1/$2/$3 00:00:00', $datelien );
echo $date;
echo '<br />';
echo $datelien;
echo '<br />';
$timestamp = strtotime ($date);
echo '<br />';
echo date('d/m/Y', $timestamp);
?>

sur ma page /news.php?date=18051993 voila ce que j'obtiens :

18/05/1993 00:00:00 /* >>>>> normal
18051993 /* >>>> normal

05/06/1994 /*incomprehensible du moins pour moi

si quelqu'un avait une petit idée, ca m'arrangerait fortement. merci

Je pense que le soucis, c'est que dans strtotime ($date), php interprete le 18/05 comme le cinquième jour du 18ème mois (en anglais, le format de date est mm/dd/yy), et le 18ème mois de 1993, c'est le 6 ème mois de 1994 :)
 
Discussions similaires
Haut