Problème fonction date à devenir fou

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

jbtz64
Nouveau WRInaute
 
Messages: 21
Inscription: Mer Mai 28, 2008 20:56

Problème fonction date à devenir fou

Message le Sam Mai 31, 2008 14:36

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


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3062
Inscription: Jeu Sep 14, 2006 4:53

Message le Sam Mai 31, 2008 17:04

Tu peux utiliser

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

après avoir fait un petit explode("-", $date) par exemple
Dernière édition par YoyoS le Sam Mai 31, 2008 17:07, édité 1 fois.

jbtz64
Nouveau WRInaute
 
Messages: 21
Inscription: Mer Mai 28, 2008 20:56

re:

Message le Sam Mai 31, 2008 17:06

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);
}
[/code]

merci quand même et bon weekend.

Moof
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 179
Inscription: Sam Mar 22, 2003 16:50

Re: Problème fonction date à devenir fou

Message le Sam Mai 31, 2008 22:25

jbtz64 a écrit: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 :)


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités