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

  FORUM HardWare.fr
  Programmation

  [php] Convertion de date

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] Convertion de date

n°100250
kyo54
Posté le 14-02-2002 à 12:00:59  profilanswer
 

Salut à tous!
 
J'utilise PHP et Mysql. Mon petit problème c'est que mysql stocke les dates au formant AAAA-MM-JJ et mes utilisateurs risquent de pas trop aimer et de préférer JJ-MM-AAAA.
Comment convertir cela en PHP, ou peut-être avec de javascript...


---------------
.
mood
Publicité
Posté le 14-02-2002 à 12:00:59  profilanswer
 

n°100259
M@nu
Posté le 14-02-2002 à 12:30:04  profilanswer
 

la meilleure solution : le "timestamp" => fonctions time(), mkTime() etc...
mais si tu tiens à ta solution, utilise des regex pour transformer ça...
 
dans le genre :
$jjmmaaaa = ereg_replace('([0-9]{4})-([0-9]{2})-([0-9]{2})', '\\3-\\2-\\1', $aaaammjj);

 

[jfdsdjhfuetppo]--Message édité par M@nu--[/jfdsdjhfuetppo]

n°100298
Mara's dad
Yes I can !
Posté le 14-02-2002 à 13:33:11  profilanswer
 

Une fois de plus, la solution est dans la DOC !
http://www.mysql.com/doc/D/a/Date_ [...] tions.html
 
exemple :
SELECT DATE_FORMAT(ma_date,'%Y/%m/%d';) as fr_date FROM ma_table


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°100301
FLY LM
Posté le 14-02-2002 à 13:34:30  profilanswer
 

Mara's dad a écrit a écrit :

Une fois de plus, la solution est dans la DOC !
http://www.mysql.com/doc/D/a/Date_ [...] tions.html
 
exemple :
SELECT DATE_FORMAT(ma_date,'%Y/%m/%d';) as fr_date FROM ma_table  




 
Ils sont pénibles à la fin :lol: :lol: :lol: :lol:

n°100303
skylight
Made in France.
Posté le 14-02-2002 à 13:41:48  profilanswer
 

Mara's dad a écrit a écrit :

Une fois de plus, la solution est dans la DOC !
http://www.mysql.com/doc/D/a/Date_ [...] tions.html
 
exemple :
SELECT DATE_FORMAT(ma_date,'%Y/%m/%d';) as fr_date FROM ma_table  




sauf qu'il est préférable de ne pas faire travailler mysql pour rien alors que php est + rapide pour ce genre de choses :)

n°100305
Mara's dad
Yes I can !
Posté le 14-02-2002 à 13:43:11  profilanswer
 

Je ne dirais pas "pénibles" !
 
Mais c'est sûr qu'on n'a pas l'impression que les recherches sont allées très loin.
 
Celà dit, on s'est tous un jour cassé les dents sur des problèmes de dates !
 
En regardant la doc MySql sur la fonction DATE_FORMAT, j'ai remarqué à quel point elle est complète, cette fonction.
 
Avec DATE_FORMAT('1999-01-01', '%X %V';) elle te sort :
1998 52
C'est à dire l'année et le numéro de la semaine de la date en question (La semaine commence un dimanche en MySql)
 
Peut-être un peu superflu comme fonction.
Si j'avais eu à calculer ce genre de chose, je ne sais pas si j'aurrai pensé à DATE_FORMAT !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°100308
Mara's dad
Yes I can !
Posté le 14-02-2002 à 13:49:40  profilanswer
 

skylight a écrit a écrit :

 
sauf qu'il est préférable de ne pas faire travailler mysql pour rien alors que php est + rapide pour ce genre de choses :)  




 
Si tu le dis !
J'avoue ne pas avoir testé toutes les fonctions de MySQL convertible en PHP et réciproquement pour savoir quelle technique me fera gagner 1ms par page !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°100359
kyo54
Posté le 14-02-2002 à 14:52:20  profilanswer
 

ok merçi pour vos réponse je vais tenter tout ça. Je pense que je vais essayer par MySQL.


---------------
.
n°100394
gwen2709
Posté le 14-02-2002 à 15:44:18  profilanswer
 

fais une fonction qui découpe ta chaine d'entrée avec un split et qui stocke les valeurs dans un tableau et recompose ta chaine dans l'autre sens pr etre compatible avec les fonctions prédéfinies...
comme ça, pas besoin de gener tes utilisateurs.

n°102284
skylight
Made in France.
Posté le 19-02-2002 à 13:33:26  profilanswer
 

$jour = substr($dateheure,8,2)." ";
 $mois = substr($dateheure,5,2);
 
 if($mois ==1){$mois = "janvier ";}
 if($mois ==2){$mois = "février ";}
 if($mois ==3){$mois = "mars ";}
 if($mois ==4){$mois = "avril ";}
 if($mois ==5){$mois = "mai ";}
 if($mois ==6){$mois = "juin ";}
 if($mois ==7){$mois = "juillet ";}
 if($mois ==8){$mois = "août ";}
 if($mois ==9){$mois = "septembre ";}
 if($mois ==10){$mois = "octobre ";}
 if($mois ==11){$mois = "novembre ";}
if($mois ==12){$mois = "décembre ";}
 
 
 $annee = substr($dateheure,0,4). " à ";
 $heure = substr($dateheure,11,8);
 
$dateheure=$jour.$mois.$annee.$heure;
 
 
 
$d=$edttime;
 $edttime = substr($d,8,2)."-";
 $edttime = $edttime.substr($d,5,2)."-";
 $edttime = $edttime.substr($d,0,4). " à ";
 $edttime = $edttime.substr($d,11,8);

mood
Publicité
Posté le 19-02-2002 à 13:33:26  profilanswer
 

n°102289
Mara's dad
Yes I can !
Posté le 19-02-2002 à 13:47:20  profilanswer
 

:lol: Pourquoi faire simple quand on peut faire compliqué ! :lol:
 
Version simple (2 lignes de PHP ) : http://www.surleau.com/temp/date.php
 
La doc : http://www.php.net/manual/en/function.strftime.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°102410
skylight
Made in France.
Posté le 19-02-2002 à 16:51:18  profilanswer
 

oui mais ca ne marche qu'avec time()

n°102418
skylight
Made in France.
Posté le 19-02-2002 à 17:00:55  profilanswer
 

echo (strftime( "%A %d %B %Y à %H:%M:%S",mktime($dateheure)));
 
 ne marche ^pas

n°102457
pudaipiai
Hummm, c'est quoi cette odeur?
Posté le 19-02-2002 à 18:01:09  profilanswer
 

kyo54 a écrit a écrit :

Salut à tous!
 
J'utilise PHP et Mysql. Mon petit problème c'est que mysql stocke les dates au formant AAAA-MM-JJ et mes utilisateurs risquent de pas trop aimer et de préférer JJ-MM-AAAA.
Comment convertir cela en PHP, ou peut-être avec de javascript...  




 
pour éviter qu'ils se posent la question, tu devrais peut être créer 3 inputs select, un pour le jour, un pour le mois, un pour l'année, placés dans cet ordre.
 
ensuite tu envoie à la base $date="$année/$mois/$jour"
 
Quand tu récupère dans l'autre sens pour les selected, tu fais
$annee=substr($date,0,4);
$mois=substr($date,5,2);
$jour=substr($date,8,2);
 
Enfin, c'est ce que je fais, c'est plus simple pour l'utilisateur qui peut pas se tromper...

n°102503
Mara's dad
Yes I can !
Posté le 19-02-2002 à 21:01:59  profilanswer
 

skylight a écrit a écrit :

echo (strftime( "%A %d %B %Y à %H:%M:%S",mktime($dateheure)));
 
 ne marche ^pas  




<?php  
setlocale ("LC_TIME", "fr_FR" );  
echo( strftime( "%A %d %B %Y à %H:%M:%S", strtotime("1999-12-25 12:10:05" ) ) );  
echo( "<HR>" );  
show_source( "date.php" );  
?>  
chez moi : http://www.surleau.org/tmp/date.php
Cà marche !

n°102521
skylight
Made in France.
Posté le 19-02-2002 à 23:10:19  profilanswer
 

merci ca marche , il fallait faire strtotime :)

n°102769
kyo54
Posté le 20-02-2002 à 15:42:59  profilanswer
 

pudaipiai a écrit a écrit :

 
 
pour éviter qu'ils se posent la question, tu devrais peut être créer 3 inputs select, un pour le jour, un pour le mois, un pour l'année, placés dans cet ordre.
 
ensuite tu envoie à la base $date="$année/$mois/$jour"
 
Quand tu récupère dans l'autre sens pour les selected, tu fais
$annee=substr($date,0,4);
$mois=substr($date,5,2);
$jour=substr($date,8,2);
 
Enfin, c'est ce que je fais, c'est plus simple pour l'utilisateur qui peut pas se tromper...  




 
oui t'as raison, c mieux! J'ai fait ça tranquilou!

 

[jfdsdjhfuetppo]--Message édité par kyo54--[/jfdsdjhfuetppo]


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

  [php] Convertion de date

 

Sujets relatifs
[vba] convertion franc euro[PHP] comment formater une date sur base de données
[PHP] Comment on fait pour convertir une date en jours ou s. Unix[MySQL] INDEX une date ou PRIMARY INDEX un datetime ?
[PHP] classement par date puis heure...[PHP] diff_date
PhpNuke : pd de date()Configurer la date du serveur
Php : comment transfomer une date "aaaa-mm-jj hh:minmin:ss"petite commande dos... [insert date]
Plus de sujets relatifs à : [php] Convertion de date


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