Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
782 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Peut-on additionner des heures/minutes en PHP ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Peut-on additionner des heures/minutes en PHP ?

n°1040980
Master_Jul
Posté le 09-04-2005 à 10:01:52  profilanswer
 

Bonjour,
 
 
Je dois ajouter x minutes à une heure donnée et j'aimerais savoir s'il existe des fonctions permettant de le faire facilement en PHP (je ne parle pas de mysql). Pour le moment, j'ai fait cette fonction qui marche bien :
 

Code :
  1. function Ajout_Minutes($Heure,$MA) //$MA : Minutes à Ajouter
  2. {
  3. // Extraction de l'heure et des minutes
  4. $H=substr($Heure,0,2);
  5. $M=substr($Heure,3,2);
  6. $NH['Heure']=$H+intval(($M+$MA)/60);
  7. $NH['Minutes']=($M+$MA)%60;
  8. return $NH['Heure'].":".$NH['Minutes'];
  9. }


 
Je suis en train de voir que j'aurais pu faire un explode mais bon, c'est pas dramatique.

mood
Publicité
Posté le 09-04-2005 à 10:01:52  profilanswer
 

n°1040983
esox_ch
Posté le 09-04-2005 à 10:07:36  profilanswer
 

Oui, si tu aggis sur le timestamp il y a pas de problemes


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1040985
Master_Jul
Posté le 09-04-2005 à 10:09:33  profilanswer
 

Les heures sont au format HH:MM, tu proposerais donc que je créé des timestamp pour ajouter des minutes puis les reconvertir au format HH:MM ?

n°1041008
esox_ch
Posté le 09-04-2005 à 10:57:41  profilanswer
 

En general il est preferable en php de travailler seulement avec des timestamp (et les stoquer en tant que tels dans la bdd), et au dernier moment avant de les afficher de les transformer en HH:MM


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1041014
Master_Jul
Posté le 09-04-2005 à 11:05:17  profilanswer
 

C'est un fichier texte que je lis, je récupère les heures sous ce format, et je dois leur ajouter x minute avant l'insertion dans la base. C'est pour ça que je doute de l'intérêt de passer par des TIMESTAMP en fait.

n°1041015
gizmo
Posté le 09-04-2005 à 11:07:15  profilanswer
 

bah si tu dois leur ahouter des minutes avant de l'insérer dans la db, y a justement tout intérêt à prendre des timestamp. Tu peux même faire l'addition dans l'insertion.

n°1041027
Master_Jul
Posté le 09-04-2005 à 11:25:44  profilanswer
 

Après c'est un problème de type de cham. Comme c'est pour gérer un emploi du temps sur une semaine, on a décidé d'utiliser un type TIME et pas un TIMESTAMP qui fait entrer en compte la date, chose qui n'a pas de sens sur une semaine.


Message édité par Master_Jul le 09-04-2005 à 11:27:42
n°1041043
gizmo
Posté le 09-04-2005 à 11:42:13  profilanswer
 

et bien prend des time alors au lieu des timestamp, ca marche aussi.

n°1041047
Master_Jul
Posté le 09-04-2005 à 11:46:04  profilanswer
 

Ca donnerait quoi au niveau de la requête ?
 
...VALUES('12:12'+75,...  
 
:??:
 
Edit :  
'12:12'+75 donne 00:00:00
'15:42+75' donne 15:42:00
'15:42+00:75:00' donne 15:42
'15:53'+00:75:00 erreur de syntaxe
'15:42:00'+'01:25:00' donne 00:00:16  :heink:


Message édité par Master_Jul le 09-04-2005 à 12:04:25
n°1041197
gizmo
Posté le 09-04-2005 à 14:12:58  profilanswer
 

values(time '15:42' + interval '75 minutes')

mood
Publicité
Posté le 09-04-2005 à 14:12:58  profilanswer
 

n°1041251
Hermes le ​Messager
Breton Quiétiste
Posté le 09-04-2005 à 14:51:16  profilanswer
 

esox_ch a écrit :

Oui, si tu aggis sur le timestamp il y a pas de problemes


 
+1

n°1041282
Master_Jul
Posté le 09-04-2005 à 15:09:00  profilanswer
 

gizmo a écrit :

values(time '15:42' + interval '75 minutes')


 
 :cry:  
 
time '15:42' + interval '75 minutes' : syntaxe
time '15:42' + interval '75 minute' : syntaxe
time '15:42' + interval 75 minute : passe mais retourne NULL
time '15:42' + interval '00:75' hour_minute : passe mais retourne NULL
time '15:42' + interval '01:15' hour_minute : passe mais retourne NULL
 
Sans le time c'est pareil.
 
Je suis allé là : http://www.databasejournal.com/fea [...] _2190421_1
 
Les DATE_ADD ne fonctionnent apparemment pas car ils retournent des dates.
 
Hermes, lis tout le topic, le TIMESTAMP n'est pas un type approprié dans le projet.


Message édité par Master_Jul le 09-04-2005 à 15:11:31
n°1041293
Master_Jul
Posté le 09-04-2005 à 15:16:22  profilanswer
 

Allons y gaiement. :o
 
TIME_FORMAT( DATE_ADD( '15:42' + INTERVAL '01:00'
HOUR_MINUTE ) , '%H:%i' )  
 
Syntaxe toujours. :/ :D

n°1041303
Master_Jul
Posté le 09-04-2005 à 15:27:21  profilanswer
 

Bon plus simple, en lisant le manuel :
 
ADDTIME('12:55','01:55')

n°1041316
gizmo
Posté le 09-04-2005 à 15:38:02  profilanswer
 

tu travailles dans quel sgdb?
 
EDIT: ah oui, mysql, j'aurais du me douter qu'ils ne respectaient pas le standard :/


Message édité par gizmo le 09-04-2005 à 15:39:08
n°1041330
Master_Jul
Posté le 09-04-2005 à 15:46:17  profilanswer
 

Oui, c'est imposé.
 
Par contre, il faudra toujours que je formate mon 75 minutes en 1:15 parce qu'il ne veut évidemment pas de ADDTIME('12:55',10 minute) ni de ADDTIME('07:57',MAKETIME(0,75,0)) :/
 
Apparemment, je suis quand même parti pour "refaire" une fonction pour ça.
 
En bref, je me demande s'il vaut mieux que je garde ma fonction qui me retourne mon heure prête à être injectée ou s'il faut que j'utilise le ADDTIME en utilisant une fonction (que je dois faire apparemment) qui tranforme les minutes en hh:mm.
 
function CalculeHeure($Minutes)
{
  $NH['Heure']=intval($Minutes/60);
  $NH['Minutes']=$Minutes%60;
       
  return $NH['Heure'].":".$NH['Minutes'];
}


Message édité par Master_Jul le 09-04-2005 à 16:00:59
n°1041538
Master_Jul
Posté le 09-04-2005 à 20:42:44  profilanswer
 

:bounce:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Peut-on additionner des heures/minutes en PHP ?

 

Sujets relatifs
[Php/MySQL] recupérer nom de colonne[PHP] file_exists chez free.fr
Bug sous firefox, page PHP interpretée comme image PNG !![PHP] problème pour echanger des donnees avec un serveur SOAP
additionner 2 variables[PHP] Recherche programmeurs PHP niveau avancé
Service PHPProblème dans un mail html envoyé avec PHP
Votre debuggeur PHP 
Plus de sujets relatifs à : Peut-on additionner des heures/minutes en PHP ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR