Conversion date format anglais-français + heure

Soyez le premier à donner votre avis sur cette source.

Snippet vu 42 709 fois - Téléchargée 21 fois

Contenu du snippet

Tout petit source pour convertir une date d'un format anglais-français dans les deux sens, avec l'heure ou non derrière.
J'ai fait ça pour utilisation MySQL à convertir rappidement pour la saisie au format français.

Source / Exemple :


function dateswitch($Date)			// swith MySql (year-mm-day) - input (day-mm-year)
{	$dates=explode(" ", " ".$Date);
	$Date=$dates[1];	$Time=$dates[2];
	if ($Time!=null) $Time=" $Time";
	$regs=explode("-", "-".$Date);
	return $regs['3']."-".$regs['2']."-".$regs['1']."$Time";
}

// Exemples :

echo dateswitch(date("Y-m-d"))
echo dateswitch(date("d-m-Y H:i:s" ))

A voir également

Ajouter un commentaire

Commentaires

cs_shortz
Messages postés
3
Date d'inscription
samedi 3 février 2007
Statut
Membre
Dernière intervention
4 février 2007

Ne soit pas désolé de me rendre service. je ne cherchai pas à convaincre, mais juste à comprendre.
Donc, merci pour votre aide sympathisante et désintéressée.
malalam
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
18
Je ne t'ai pas soumis l'idée de stocker tes dates dans mysql sous un autre format, mais de les formater en français dans ta requête. Le langage SQL propose tout ce qu'il faut pour ça.

Sinon, pour appuyer ce que dit Kankrelune : echo date ('d-m-Y', strtotime ('2006-02-03'));
Certes, ça ne marche pas dans l'autre sens. Mais la conversion inverse est quand même faisable en 1 ligne. Surtout si tu dois absolument passer tes dates dans un format rigide avec des - entre les différentes parties. 3 substr () suffisent. Ou un date et un mktime avec ton explode. Etc...
Bref désolé, je ne suis toujours pas convaincu.
cs_shortz
Messages postés
3
Date d'inscription
samedi 3 février 2007
Statut
Membre
Dernière intervention
4 février 2007

J'ai souvent besoin de comparaison, et aussi de saisie étrangère. Donc le format anglais pour MySQL me parait plus approprié.

Pour ce qui est de la conversion en natif, je ne vois pas.
strtotime() et date() que j'utilise régulièrement ne me semblent pas prévues à cet effet.
Je suis certain qu'on peut trouver plus simple, ne serai-ce qu'avec une question de syntaxe, tout en gardant une seule fonction pour les deux sens, et en conservant l'heure si elle existe, sinon je pourrai utiliser :
ereg_replace("([0-9]{4})-([0-9]{2})-([0-9]{2})", "\\3/\\2/\\1", $date);

Merci pour vos commentaires.
kankrelune
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

tout comme Malalam... qui plus est si ça n'était pas le cas php dispose de tout ce qu'il faut en natif (strtotime(), date(), etc...)... .. .

@ tchaOo°
malalam
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
18
Hello,

tu sais que tu peux très bien formatter une date directement dans ta requête sql...?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.