Utilisation des dates au format francais [FAQ PHP] - Programmation
Marsh Posté le 14-03-2002 à 10:39:19
taka pondre un ptit algo sympa qui converti le 2002-0314 en 14/03/02  
 
Marsh Posté le 14-03-2002 à 10:43:07
il est gentil....  
  
je rapelle que ce post est destine a devenir une faq donc pour des neophytes   
 
Marsh Posté le 14-03-2002 à 10:49:00
Si ce sont des dates courantes ( de notre époque quoi) bah j'utilise un timestamp en php + un champ bigint(14) en mysql et ensuite à l'affichage je peux l'afficher comme il me plait. 
 
Je pense que c'est meiux au niveau de l'adaptabilité du code 
Marsh Posté le 14-03-2002 à 10:52:06
oui mais si on recupere une date jj/mm/aa depuis un formulaire on ne peut pas les convertire en timestamp.... 
actuellement j'eclate ma date et je fais des comparaisons sur l'annee puis sur le mois puis sur le jour... c po top!  
  
| lord ii a écrit a écrit  : Si ce sont des dates courantes ( de notre époque quoi) bah j'utilise un timestamp en php + un champ bigint(14) en mysql et ensuite à l'affichage je peux l'afficher comme il me plait. Je pense que c'est meiux au niveau de l'adaptabilité du code | 
Marsh Posté le 14-03-2002 à 11:15:56
Bah pour ca il faut forcer le plus possible l'utilisateur à écrire comme tu veux et ensuite tu peux générer un timestamp en passant les bons paramètres à mktime()
Marsh Posté le 14-03-2002 à 11:21:57
je suis sur qu'il y a des combines + simples ... 
personne ? 
Marsh Posté le 14-03-2002 à 11:41:27
pour sortir un date formatée d'un champ DATE ou DATETIME MySQL : 
 
SELECT ... DATE_FORMAT(champ_date,'%d-%m-%Y %H:%i' as nom_alias
 as nom_alias 
 
moi j'utilise que ça (mais j'inclu surtout la date courante, rarement une autre date..) 
Marsh Posté le 14-03-2002 à 12:13:59
ok Sh@rdar ca me plait bcp + ! 
pour inclure la date courante on peut faire un  
insert(NOW()) 
nan ? 
Marsh Posté le 14-03-2002 à 13:55:30
| kayasax a écrit a écrit  : ok Sh@rdar ca me plait bcp + ! pour inclure la date courante on peut faire un insert(NOW()) nan ? | 
 
 
oui   
 
tu peux aussi ajouter dans le date_format du code HTML, et y a pas mal de façon de paramétrer la date (1 ou 2 chiffres, initiales du jour, moi en toute lettre etc.) 
[jfdsdjhfuetppo]--Message édité par Sh@rdar--[/jfdsdjhfuetppo]
Marsh Posté le 16-04-2002 à 22:28:46
Sh@rdar j'ai essaye ta technique mais ca me cause une erreur de requete : 
 
$sql="select * from sujet order by 'date' DESC limit 30 DATE_FORMAT('date','%d-%m-%Y %H:%i' as 'date_corrigee'";
 as 'date_corrigee'"; 
 
j'ai merdé ? 
Marsh Posté le 16-04-2002 à 22:32:52
| kayasax a écrit a écrit  : Sh@rdar j'ai essaye ta technique mais ca me cause une erreur de requete : $sql="select * from sujet order by 'date' DESC limit 30 DATE_FORMAT('date','%d-%m-%Y %H:%i'  as 'date_corrigee'"; j'ai merdé ? | 
 
 
select date_format(date,'%d-%m-%Y %H:%i' as date_corrigee from sujet order byte date desc limit 30
 as date_corrigee from sujet order byte date desc limit 30 
[jfdsdjhfuetppo]--Message édité par HappyHarry--[/jfdsdjhfuetppo]
Marsh Posté le 16-04-2002 à 22:35:23
fo que je fasse 2 requete donc ? paske moi je veux pas sortir que la date mais les autres champs aussi ...
Marsh Posté le 16-04-2002 à 22:36:37
ben : select champ1,champ2,champ3,date_format() 
t'as pas le choix 
Marsh Posté le 16-04-2002 à 22:55:36
SELECT *,DATE_FORMAT(date,'%d-%m-%Y %H:%i' as date_corrigee
 as date_corrigee 
 
ça marche pas ? 
 
(pas testé je viens de couper mon serveur..) 
Marsh Posté le 16-04-2002 à 23:43:45
| Sh@rdar a écrit a écrit  : SELECT *,DATE_FORMAT(date,'%d-%m-%Y %H:%i'  as date_corrigee ça marche pas ? (pas testé je viens de couper mon serveur..) | 
 
 
nan ca marche pas ce genre de trucs en SQL 
Marsh Posté le 16-04-2002 à 23:51:50
He les gars ca marche po NOW() dans ma requete ! 
 
insert into sujet VALUES ('','cgcgj','lol
39;,'1','NOW()','0&
#039;,'0','lol','NOW
()' 
 
 
et mes dates : 0000-00-00 00:00:00  
 
keskispas ? 
Marsh Posté le 17-04-2002 à 03:10:47
| kayasax a écrit a écrit  : oui mais si on recupere une date jj/mm/aa depuis un formulaire on ne peut pas les convertire en timestamp.... actuellement j'eclate ma date et je fais des comparaisons sur l'annee puis sur le mois puis sur le jour... c po top!   | 
 
 
$dateunix= strtotime($date_string); //$date_string="10/04/2002" 
ou 
$dateunix= date("U" ); 
 
pour l'affichage : 
echo date("d/m/Y H:i:s", $dateunix); 
 
si tu veux proposer à tes utilisateurs de changer le format d'affichage, c'est simple  (une liste déroulante fait en gros l'affaire)
 (une liste déroulante fait en gros l'affaire) 
si tu veux leur proposer de l'adapter à leur fuseau horaire aussi... (ex : +9h -> $dateunix+(9*3600) ) 
 
J'utilise du int(10) unsigned dans ma bd pour stocker des unixtime, c'est le plus facile à manipuler (comparaisons, changement de fuseau horaire, ...). 
[jfdsdjhfuetppo]--Message édité par ethernal--[/jfdsdjhfuetppo]
Marsh Posté le 17-04-2002 à 08:55:09
Merci ! 
Mes neurones (ou ce qu'il en reste)  devaient deja dormir a cette heure la ;-)... 
| HappyHarry a écrit a écrit  : vire les quotes autour des NOW() ...   | 
Marsh Posté le 14-03-2002 à 10:37:24
Salut ! )...Si il y a d'autres sujets recurrents ca serait pas mal de rajouter FAQ dans le titre pour faciliter les recherches ulterieures.
 )...Si il y a d'autres sujets recurrents ca serait pas mal de rajouter FAQ dans le titre pour faciliter les recherches ulterieures. 
 @+
 @+ 
j'ai mis [FAQ PHP] dans le sujet car je sais que le sujet a ete traite plein de fois mais faire une recherche sur date et php ca sort trop de posts (et y en a qui doivent connaitre ca par coeur
Donc ma question c'est comment gerer en php + mysql (type de champ ?) les dates au format jj/mm/aa ?
si vous pouviez mettre qqes exemples (notament comparaison de 2 dates) ce serait de la balle !
---------------
All we need is a soul revolution