soustraires des heures - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : soustraires des heures (/showthread.php?tid=5040) |
soustraires des heures - mloolm - 01-08-2010 salut voila j ai 2 heures de style $date1="14:00:00"; $date2=" 3:00:00"; je voudrai faire $date1-$date2 mais ca ne marche pas .j ai cherché 1 peu sur le net mais je n ai pas trouver la solution. si quelqu un pouvait m aider je l en remercie d avance RE: soustraires des heures - alfanor - 01-08-2010 Vas voir ça : http://fr.php.net/manual/fr/book.datetime.php Il te suffit de créer deux objets DateTime et d'utiliser la méthode "diff". RE: soustraires des heures - Argorate - 02-08-2010 sinon tu split(':') et tu fais à la main, c pas bien compliqué :p RE: soustraires des heures - zeppelin - 02-08-2010 Ouep soit comme le dit argo, ou alors tu converti en timestamp, ce qui te permet de reconvertir en date à nouveau etc, bref pas mal de liberté : http://fr.php.net/manual/fr/function.mktime.php Sinon pense au array, des variables du même nom avec des chiffres c'est pas beau! ;-) RE: soustraires des heures - Argorate - 02-08-2010 J'avoue que perso je travail qu'avec des timestamp tu te prends moins la tete ^^ Enfin j'imagine que ça dépent de se que tu veux en faire mais bon... RE: soustraires des heures - Sephi-Chan - 02-08-2010 (02-08-2010, 01:26 PM)Argorate a écrit : J'avoue que perso je travail qu'avec des timestamp tu te prends moins la tete ^^ Tu te prends encore moins la tête avec des objets.
Un exemple réel issu de Spherium : la méthode qui met à jour les ressources du joueur. La colonne resources_updated_at contient l'instant de la dernière mise à jour et hourly_energy_production est une méthode qui compte la production horaire d'énergie :
C'est autrement plus lisible et pratique que de travailler avec des nombres, non (c'est rhétorique, hein…) ? Pour conclure, je te conseille de prendre un moment pour développer ou trouver des classes qui font ça, ton code sera bien plus lisible et maintenable. Sephi-Chan RE: soustraires des heures - atra27 - 03-08-2010 Une question Sephi Chan? C'est quoi l'utilité de ton post? sans vouloir être méchant il demande pour du php ($variable et la "renommée" du php font que je peut l'affirmer sans me tromper...) donc ta réponse est techniquement correcte et satisfaisante ... sauf qu'elle est totalement inutile.... Et c'est valable aussi pour ce cher oxman et son scala... c'est inutile dans ce cas si donc pas la peine de poster ton code pour "aider" Bref ma remarque est passée... Bon alors pour ta question sinon alors je te conseille vraiment de travailler avec les timestamp. Un exemple pour avoir l'heure courante en timestamp: Code PHP :
Code PHP :
Code PHP :
Comme le timestamp est un entier, toutes les opérations/soustractions/division/multiplications se font comme avec toute autre variable en php. Il y a pleins d'autres sujets sur le forum.... Sinon a par ce conseil sur la méthode... je te conseille un explode si tu est sur que ton format de date ne peut jamais changer... RE: soustraires des heures - php_addict - 03-08-2010 (03-08-2010, 12:30 AM)atra27 a écrit : Comme le timestamp est un entier, toutes les opérations/soustractions/division/multiplications se font comme avec toute autre variable en php. je te rejoins sur cette idée: un timestamp est un entier donc tu en fait ce que tu veux. OK, ce n'est pas tres lisible mais on est tous assez malin pour comprendre que 3600 secondes cela fait une heure. la preuve, l'auteur de ce topic est emmerdé parce que il dois jongler avec des variables formatées ( $date1="14:00:00"; ) et si il travaillait avec des timestamp il n'aurais pas ce genre de preocupations... apres effectivement tu peut te faire des classe OO ou des function procedurales, mais avec à base de timestamp. genre convertir un timestamp en date, en heure, mais un timestamp reste un timestamp, l'unité de base... ce n'est qu'un avis d'un amateur... RE: soustraires des heures - christouphe - 03-08-2010 J'ai une question (con ??), ta date / heure formatée, elle vient d'une base de donnée ?? => Doc Date de MySQL Citation :TIMEDIFF(expr,expr2) Utilisation: SELECT TIMEDIFF('14:00:00','3:00:00') == 11:00:00 SELECT TIMEDIFF('3:00:00','14:00:00') == -11:00:00 Puis: SELECT HOUR(TIMEDIFF('3:00:00','14:00:00')) == 11 ++ RE: soustraires des heures - niahoo - 03-08-2010 Ben sje suis plutôt d'accord avec vous, mais maintenant essayez de gérer des dates anciennes avec un timestamp, du genre le 15 Juin 1856 ... Ici il travaille avec des heures, indépendament de la date. Le timestamp inclut une date, ça peut être source d'erreurs. Il doit bien y avoir des fonctions ou des classes pour travailler avec des heures dans la SPL |