Conversion date - PHP - Programmation
Marsh Posté le 04-01-2011 à 19:16:26
tu peux convertir tes dates grâce a date_parse_from_format
Marsh Posté le 04-01-2011 à 19:37:50
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] => )
Marsh Posté le 04-01-2011 à 20:24:52
tu trouveras les correspondances ici :
http://php.net/manual/fr/function.date.php
Marsh Posté le 04-01-2011 à 20:59:12
Je l'ai adapté, mais comment extraire les valeurs affichés dans Array ?
Marsh Posté le 04-01-2011 à 21:03:15
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('...')
Marsh Posté le 05-01-2011 à 21:48:03
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
Marsh Posté le 05-01-2011 à 22:54:32
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
Marsh Posté le 05-01-2011 à 23:10:45
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 ...
Marsh Posté le 05-01-2011 à 23:50:36
pourquoi mettre d-m-Y H:i:s ?
Marsh Posté le 06-01-2011 à 00:14:28
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
Marsh Posté le 06-01-2011 à 22:01:30
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
Marsh Posté le 06-01-2011 à 22:14:41
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 ');
Marsh Posté le 04-01-2011 à 18:51:18
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