problème avec les dates

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème avec les dates

Re: problème avec les dates

par meteo71 » 02 nov. 2009, 10:56

en fait je récupère directement $timeupload au format timestamp (ex 1257151591) donc j'ai viré la ligne $timeupload= strtotime ($timeupload); qui ne servait donc à rien.

Voila l'ensemble du code :

Code : Tout sélectionner

$m = date('m', $timeupload); $d = date('d', $timeupload); $Y = date('Y', $timeupload); $endtime = mktime(24, 00,00, $m, $d, $Y); $timenow = time(); if ($timenow > $endtime ) { ....
Ce qui ne marche pas, c'est la récupération de $m, $d ... en fonction de $timeupload qui est bien sur différent du $time (actuel)
et je ne comprend pas pourquoi la fonction date ne prend pas en compte la variable $timeupload ??
lorsque je teste $m, j'obtiens le 2 alors que je devrais obtenir le 31 (date de ^timeupload)
Merci

Re: problème avec les dates

par FuZZyLine » 02 nov. 2009, 10:15

Bonjour,
je relance le sujet car j'ai un autre petit soucis.
Je récupère une variable fixe $timeupload au format timestamp que je convertis avec strtotime.
[...]
Hum... Quelque chose déconne ;)

Le strtotime sert à la convertion Date -> Time (string -> long int), si ce que tu fais est ce que tu écris
ca ne peut marcher. Le résultat sera false.

[*]Le retour de strtotime retourne false si échec de la fonction. Fais:
if ($timeupload === false) die("ERROR !");

@+ ;)

[*] Ta vérification, je ne sais à quel moment tu la fais... D'ou le test que je propose.

Re: problème avec les dates

par meteo71 » 02 nov. 2009, 09:44

Bonjour,

je relance le sujet car j'ai un autre petit soucis.

Je récupère une variable fixe $timeupload au format datetime que je convertis avec strtotime.
Je veux récupérer le jour, le mois et l'année de cette variable et c'est la que ça bloque puisque cela m'affiche les valeurs du jour et pas ceux du jour fixé dans la variable. Voila ce que je fais :

Code : Tout sélectionner

$timeupload= strtotime ($timeupload); $m = date('m',$timeupload); $d = date('d',$timeupload); $Y = date('Y',$timeupload); $timenow = time();
en faisant ça,
$m me donne le jour d'aujourd'hui et pas celui de $timeupload
pareil pour les 2 autres variables.
J'ai bien sur vérifié que $timeupload était bien un timestamp inférieur à aujourd'hui.
$timenow: 1257147597
$timeupload : 1257116400

Merci de votre aide

Re: problème avec les dates

par meteo71 » 31 oct. 2009, 10:56

Salut,

$endTime != $endtime
Merci, celle-la je ne l'avais pas vu !! c'est rectifié.
dire que j'ai bloqué la dessus pendant un bon moment, cela fait du bien d'avoir parfois un regard extérieur !! =D>

Re: problème avec les dates

par FuZZyLine » 31 oct. 2009, 10:03

Salut,
bonsoir,
je sais que le problème a été souvent abordé mais malgré ma recherche je ne trouve pas la réponse à mon problème.
Je veux comparer 2 dates, et lorsque la première valeur est > à la deuxième, faire quelque chose
voila ce que je tape.

Code : Tout sélectionner

$datenow= time(); $endTime = mktime(24, 00, 00, date('m'), date('d'), date('Y')); if ($datenow > $endtime ) { ....
Je veux qu'il se passe quelque chose après minuit du jour, je compare donc le timestamp du
moment avec celui de minuit du jour. Je veux simplement comparer les 2 dates mais cela ne
marche pas et je ne vois pas ou ça cloche

Pour tester, j'ai essayé de faire ça :

Code : Tout sélectionner

$sous = ( $datenow - $endtime ) ;
Le résultat me donne toujours la valeur de $datenow
Bref, je n'y comprend plus rien !! je dois faire une erreur quelque part mais ou ??
Merci de m'éclairer
Bonne nuit
christophe
Avant tout, si ton script est l'éxacte réplique du tien gaffe aux casses.... à la casse ;)
Cette erreur est super chiante à détecter:
$endTime != $endtime
Pour info tu as aussi strtotime() petit exemple:
  $strNow  = date("H:i:s");
  $strLast = date("H:i:s", time()-360);
  $iDif = strtotime($now)-strtotime($last);

  echo $strNow." // ".$strLast."<br>";

  echo "La différence: ".$iDif;

  die();
En même temps ce n'est qu'un exemple.

bon code @+ ;)

problème avec les dates

par meteo71 » 31 oct. 2009, 01:08

bonsoir,

je sais que le problème a été souvent abordé mais malgré ma recherche je ne trouve pas la réponse à mon problème.
Je veux comparer 2 dates, et lorsque la première valeur est > à la deuxième, faire quelque chose

voila ce que je tape.

Code : Tout sélectionner

$datenow= time(); $endTime = mktime(24, 00, 00, date('m'), date('d'), date('Y')); if ($datenow > $endtime ) { ....
Je veux qu'il se passe quelque chose après minuit du jour, je compare donc le timestamp du moment avec celui de minuit du jour.
Je veux simplement comparer les 2 dates mais cela ne marche pas et je ne vois pas ou ça cloche


Pour tester, j'ai essayé de faire ça :

Code : Tout sélectionner

$sous = ( $datenow - $endtime ) ;
Le résultat me donne toujours la valeur de $datenow

Bref, je n'y comprend plus rien !! je dois faire une erreur quelque part mais ou ??

Merci de m'éclairer

Bonne nuit

christophe