Calculer une durée avec date()

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 : Calculer une durée avec date()

Re: Calculer une durée avec date()

par Castor Gaspard » 19 juil. 2011, 16:30

Bonjour,

@ Skikit. La documentation ne précise pas le point de départ d'un Timestamp, me semble-t-il. De plus, la fonction peut être commode pour convertir des jours, des heures...

@ Ryle. Tu as raison comme d'habitude. gmdate() permet de contourner mon problème des 3600 secondes qui se promenaient. Merci. :mrgreen:

Cordialement,

Gaspard

Re: Calculer une durée avec date()

par Ryle » 19 juil. 2011, 15:41

Ce serait pas une question d'heure d'été ?

Et si tu utilises gmdate() au lieu de date() ?

Re: Calculer une durée avec date()

par Skikit » 19 juil. 2011, 15:40

Bonjour,

Le second paramètre à passer à la fonction date doit être un timestamp (le nombre de secondes depuis le 1er janvier 1970).
Ainsi, tu ne peux pas utiliser la fonction date de cette façon.

Calculer une durée avec date()

par Castor Gaspard » 19 juil. 2011, 14:48

Bonjour,

Je me bats toujours avec mes problèmes de date.

Je veux calculer une durée en heures, minutes et secondes à partir d'une durée en secondes.

D'abord, j'ai employé une syntaxe comme...
$delta = 18137:
$delta_hours = intval($delta / 3600);
$delta_minutes = intval(($delta % 3600) / 60);
$delta_seconds = ($delta % 3600) % 60;
qui fonctionne correctement.

Mais, en continuant à réfléchir, je me suis dit que la fonction date ferait le calcul seule, solution bien plus intelligente, n'est-ce pas ? :D

Or, il y a une bizarrerie. Quand j'utilise...
$delta = 18137;
$date= date(('H:i:s'), $delta);
Php me rajoute toujours une heure fictive. Je peux contourner le problème avec ($delta - 3600), mais cette solution est bricolée.

Selon vous, est-il licite d'utiliser la fonction date ici ? N'ai-je pas compris la documentation ?

Merci. :D

Cordialement,

Gaspard