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

  FORUM HardWare.fr
  Programmation
  PHP

  Conversion date

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Conversion date

n°2046246
maxdata
Posté le 04-01-2011 à 18:51:18  profilanswer
 

Bonjour et bonne année à tous,

 

J'ai besoin d'aide, j'ai dans ma base SQL 2 champs contenants chacune des dates et heures de type "JJ/MM/YYYY H:M:s" , je récupère dans un fichier PHP mais je sais pas comment faire pour calculer le temps écoulé entre ces 2 dates ??

 

J'aimerai avoir un truc du genre "Nbre de Jours + heure + minutes" écoulé

 

Alors j'aimerai avoir une aide car je ne sais pas comment faire !! si quelqu'un a une idée :) je sais qu'il existe des exemples comme celui là

 

$d1 = new DateTime('2009-06-08 20:30:00');
$d2 = new DateTime('2009-06-10 20:30:00');
$diff = $d1->diff($d2);

 

mais moi j'ai des dates en ANGLAIS comme "21/10/2009 15:08:12" et bien-sur cela marche po

 

Merci de d'avance


Message édité par maxdata le 04-01-2011 à 19:00:45
mood
Publicité
Posté le 04-01-2011 à 18:51:18  profilanswer
 

n°2046256
stealth35
Posté le 04-01-2011 à 19:16:26  profilanswer
 

tu peux convertir tes dates grâce a date_parse_from_format


Message édité par stealth35 le 04-01-2011 à 19:16:35
n°2046266
maxdata
Posté le 04-01-2011 à 19:37:50  profilanswer
 

Merci pour ta réponse, j'ai regardé "date_parse_from_format" et j'ai récuperé cet exemple :

 


<?php
$date = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $date));
?>

 

mais comment l'adapter a ceux que je veux faire ? car le retour me donne

 

Array ( [year] => 2009 [month] => 1 [day] => 6 [hour] => 13 [minute] => 0 [second] => 0 [fraction] => [warning_count] => 0 [warnings] => Array ( ) [error_count] => 0 [errors] => Array ( ) [is_localtime] => 1 [zone_type] => 1 [zone] => -60 [is_dst] => )


Message édité par maxdata le 04-01-2011 à 19:40:57
n°2046274
stealth35
Posté le 04-01-2011 à 20:24:52  profilanswer
 

tu trouveras les correspondances ici :
http://php.net/manual/fr/function.date.php

n°2046287
maxdata
Posté le 04-01-2011 à 20:59:12  profilanswer
 

Je l'ai adapté, mais comment extraire les valeurs affichés dans Array ?

n°2046289
stealth35
Posté le 04-01-2011 à 21:03:15  profilanswer
 

pas besion de les extraires ca te renvoie un datetime...
au lieu de ca :
$d1 = new DateTime('2009-06-08 20:30:00');
 
c'est
$d1 = date_parse_from_format('...')
 
ou
$d1 = DateTime::createFromFormat('...')

n°2046648
maxdata
Posté le 05-01-2011 à 21:48:03  profilanswer
 

merci pour ton aide, je viens de tester  
 
$dat1 =  date_parse_from_format('08/09/2010 20:30');
$dat2 =  date_parse_from_format('08/09/2010 21:30');
$diff = $dat1->diff($dat2);  
print_r ($diff);
 
mais j'ai cette erreur que je n'arrive pas a résoudre
 
Warning: date_parse_from_format() expects exactly 2 parameters, 1 given in C:\wamp\www\admin\main.php

n°2046653
stealth35
Posté le 05-01-2011 à 22:21:43  profilanswer
 

relis bien la doc

n°2046660
maxdata
Posté le 05-01-2011 à 22:54:32  profilanswer
 

cela marche avec ce format avec des tirés

 

$format = 'd-m-Y H:i:s';
$date = DateTime::createFromFormat($format, '15-02-2011 15:16:17');
echo "Format: $format; " . $date->format('d-m-Y H:i:s') . "\n";

 

moi ce que je veux c'est avec des / dans les dates car je récupère ces dates en fr sous le format

 

$format = 'd/m/Y H:i';

 

mais je ne vois aucun exemple dans la doc


Message édité par maxdata le 05-01-2011 à 22:55:25
n°2046661
stealth35
Posté le 05-01-2011 à 22:56:58  profilanswer
 

qu'est ce qui te bloque alors ? ta tout sous les yeux la  

mood
Publicité
Posté le 05-01-2011 à 22:56:58  profilanswer
 

n°2046663
maxdata
Posté le 05-01-2011 à 23:10:45  profilanswer
 

bien quand je remplace comme ceci, j'ai une erreur

 

$format = 'd-m-Y H:i:s';
$date = DateTime::createFromFormat($format, '15/02/2011 15:16:17'); // c'est le format de date que je vais récupérer dans ma base
echo "Format: $format; " . $date->format('d-m-Y H:i:s') . "\n"; // c'est la date de sortie que j'ai besoin

 

erreur :
Fatal error: Call to a member function format() on a non-object in ...


Message édité par maxdata le 05-01-2011 à 23:12:46
n°2046667
stealth35
Posté le 05-01-2011 à 23:50:36  profilanswer
 

pourquoi mettre d-m-Y H:i:s ?


Message édité par stealth35 le 06-01-2011 à 00:09:07
n°2046670
maxdata
Posté le 06-01-2011 à 00:03:32  profilanswer
 

oui et pour pouvoir faire un diff après :)

n°2046672
stealth35
Posté le 06-01-2011 à 00:14:28  profilanswer
 

ta date  15/02/2011 15:16:17
donc ton format c'est : d/m/Y H:i:s
 
createFromFormat attend le format et la date, je vois vraiment pas ce qui  
 
apres le diff le format sera le meme

n°2047036
maxdata
Posté le 06-01-2011 à 22:01:30  profilanswer
 

ok c'est bon cela marche nikel, merci a toi !! ouff un pas en avant :)
 
il me reste un dernier souci, c'est le diff, j'ai  
 
$format = 'd/m/Y H:i';
$d1 = DateTime::createFromFormat($format, $Date_Creation);;
 
$format = 'd/m/Y H:i';
$d2 = DateTime::createFromFormat($format, $Date_Fin);;
 
$diff = $d1->diff($d2);  
print_r ($diff);
 
j'ai le résultat, mais dans un array, comment l'avoir normalement ? je cherche en faisant des tests mais, je n'ai toujours pas trouvé, j'ai remplacer print_r $diff par echo $diff ; ...etc mais nada


Message édité par maxdata le 06-01-2011 à 22:03:44
n°2047038
maxdata
Posté le 06-01-2011 à 22:14:41  profilanswer
 

J'ai trouvé c'est bon :)
 
$interval = $d1->diff($d2);
echo $interval->format('%R%m Mois %R%d Jour(s) %R%h H %R%i m ');


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

  Conversion date

 

Sujets relatifs
Conversion date format UTCconversion de date
[Access] Conversion de date unixtime -> local timezone !!??Query avec conversion de date
SQL conversion d'une date en DATETIME en javaConversion date
[MSSQL] conversion de date / paramètres regionauxconversion de caractère en date sous SQL server
[JAVA] Probleme de conversion de String en Date?conversion str en date ou datetime
Plus de sujets relatifs à : Conversion date


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