Rechercher : dans
Par :

PHP : problème sur opération avec des dates

Dernière réponse le 20 mar 2003 à 13:44:58 NBO, le 20 mar 2003 à 11:29:58 
 Signaler ce message aux modérateurs

Bonjour à tous,
J'ai un soucis lorsque je veux faire des opérations avec les dates, je fais :

$date=date("d/m/y", strtotime($row['dateenreg']));
$datejour = date("d/m/y");

$diff = $datejour - $date

et diff ne me donne pas la vrai différence en jour, quelqun aurait une idée, ou verrait mon erreur.

Merci à tous

Meilleures réponses pour « PHP : problème sur opération avec des dates » dans :
Vérifier le format d'une date en PHP Voir Il existe plusieurs méthodes pour verifier le format d'une date en PHP, vous pouvez par exemple découper la chaîne puis tester les valeurs de chaque élément. Plus simplement nous utiliserons les expressions régulières. Pour valider une date au...
[PHP] Date de dernière modification Voir Grâce à PHP il est possible d'afficher automatiquement la date de dernière modification de la page en cours : ...
[PHP] Dernier jour du mois / Nombre de jours dans le mois VoirSoient $m le numéro du mois en question et $y l'année. La fonction date() permet d'afficher directement le nombre de jours dans le mois avec le caractère "t" :
PHP - Les opérateurs VoirQu'est-ce qu'un opérateur? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : les opérateurs de calcul les opérateurs...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...

1

primal, le 20 mar 2003 à 11:33:46

Salut,

truc tout bête (on ne sait jamais): la date est antérieure ou pas à la date actuelle? Sinon c'est:

$diff = $date - $datejour

++

Répondre à primal

3

kalamit, le 20 mar 2003 à 11:35:16

Hum...
12/03/2002 - 10/03/2002 = 2 ????

Je crois pas, non...

Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@)

Répondre à kalamit

4

primal, le 20 mar 2003 à 11:37:09

Peu probable mais comme je n'ai jamais essayé...

Répondre à primal

5

kalamit, le 20 mar 2003 à 11:38:57

C'est meme sur que c'est non ! Arf ! Ca serait une héresie mathematique !

Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@)

Répondre à kalamit

2

kalamit, le 20 mar 2003 à 11:34:10

Ah bah ouais, tu m'etonnes...
Deux solutions: soit tu reprends le 'd' et tu fais la difference, soit tu convertis ca en nb de jours depuis 1970 (timestamp UNIX je crois) et tu compares.
La seconde solution est mieux... :-)

Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@)

Répondre à kalamit

6

primal, le 20 mar 2003 à 11:39:50
  • +2

soit tu convertis ca en nb de jours depuis 1970 (timestamp UNIX je crois) et tu compares. : pourquoi 1970 et pas sa premiere date? la fonction marche à partir de cette date?Je ne comprend pas.
(je risque d'en avoir besoin moi aussi,autant se renseigner maintenant)

Répondre à primal

7

primal, le 20 mar 2003 à 11:47:06
  • +5
Répondre à primal

8

 NBO, le 20 mar 2003 à 13:44:58

Avec toutes vos infos j'ai fais un truc du style :

$datej = date("d", strtotime($row['dateenreg']));
$datem = date("m", strtotime($row['dateenreg']));
$datey = date("y", strtotime($row['dateenreg']));
$debut = gmmktime ( 0, 0, 0, $datem, $datej, $datey );
$now = time();

$diff = $now - $debut;

Et ça marche!
Merci à tous.
NBO

Répondre à NBO
Collection CommentÇaMarche.net