[FAQ PHP] Utilisation des dates au format francais

Utilisation des dates au format francais [FAQ PHP] - Programmation

Marsh Posté le 14-03-2002 à 10:37:24    

Salut !
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 ;) )...Si il y a d'autres sujets recurrents ca serait pas mal de rajouter FAQ dans le titre pour faciliter les recherches ulterieures.
 
 
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 !
 :jap: @+


---------------
All we need is a soul revolution
Reply

Marsh Posté le 14-03-2002 à 10:37:24   

Reply

Marsh Posté le 14-03-2002 à 10:39:19    

taka pondre un ptit algo sympa qui converti le 2002-0314 en 14/03/02 :D


---------------
Narf... It is broken...
Reply

Marsh Posté le 14-03-2002 à 10:43:07    

il est gentil.... :sarcastic:  
je rapelle que ce post est destine a devenir une faq donc pour des neophytes  ;)

Reply

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


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

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  



Reply

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()


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 14-03-2002 à 11:21:57    

je suis sur qu'il y a des combines + simples ...
personne ?

Reply

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
 
moi j'utilise que ça (mais j'inclu surtout la date courante, rarement une autre date..)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

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 ?

Reply

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  :jap:
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]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 14-03-2002 à 13:55:30   

Reply

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'";
 
j'ai merdé ?

Reply

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

 

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

Reply

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 ...

Reply

Marsh Posté le 16-04-2002 à 22:36:37    

ben : select champ1,champ2,champ3,date_format()
t'as pas le choix

Reply

Marsh Posté le 16-04-2002 à 22:37:25    

ok merci

Reply

Marsh Posté le 16-04-2002 à 22:55:36    

SELECT *,DATE_FORMAT(date,'%d-%m-%Y %H:%i';) as date_corrigee
 
ça marche pas ?
 
(pas testé je viens de couper mon serveur..)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 16-04-2002 à 23:18:12    

pas essaye g pas bcp de champs donc je les ai tapes...

Reply

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

Reply

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 ?

Reply

Marsh Posté le 16-04-2002 à 23:54:05    

vire les quotes autour des NOW() ...  :sarcastic:

Reply

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)
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]

Reply

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() ...  :sarcastic:  



Reply

Marsh Posté le 17-04-2002 à 08:56:31    

ok ethernal ! pas mal...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed