Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2011, 13h23   #1
Invité régulier
 
Femme
Étudiant
Inscription : juin 2011
Messages : 37
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 37
Points : 6
Points : 6
Par défaut Conversion de date en format "Y-m-d" php

Bonjour à tous,
J'ai une date avec ce format: Et j'aimerais la convertir pour qu'elle ait ce format:
Code :
$date_conv='2011-07-06';
J'ai essayé
Code :
$date_conv=date('Y-m-d H:i:s', $date);
Mais ça ne marche pas (normal).
Que dois-je faire pour que ça marche?
Merci d'avance.
missmiss89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 14h12   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
dans ton cas, le plus simple est :
Code :
1
2
3
4
5
6
<?php
$date = '06.07.2011'; // exemple où le point (.) est le séparateur
 
$tabDate = explode('.' , $date);
$date_conv  = $tabDate[2].'-'.$tabDate[1].'-'.$tabDate[0];
?>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 14h14   #3
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
Citation:
Envoyé par jreaux62 Voir le message
Bonjour,
dans ton cas, le plus simple est :
Code :
1
2
3
4
5
6
7
8
9
<?php
$date = '06.07.2011';
 
$tabDate = explode('.' , $date);
$date_conv  = $tabDate[2].'-'.$tabDate[1].'-'.$tabDate[0];
 
echo '$date ='.$date.'<br />';
echo '$date_conv ='.$date_conv.'<br />';
?>
beurk

Code :
echo date('Y-m-d', strtotime('06.07.2011'));
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/07/2011, 14h21   #4
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
Envoyé par stealth35 Voir le message
Code :
echo date('Y-m-d', strtotime($date));
Autant pour moi ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 16h06   #5
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Bonjour,

certes c'est moche, mais...

Code php :
1
2
3
4
5
6
7
8
9
10
11
 
$date = '06.07.2011';
 
$a = microtime(true);
$tabDate = explode('.' , $date);
$date_conv  = $tabDate[2].'-'.$tabDate[1].'-'.$tabDate[0];
echo (microtime(true) - $a) . '<br />';
 
$a = microtime(true);
$date_conv = date('Y-m-d', strtotime($date));
echo (microtime(true) - $a) . '<br />';

me donne :

Citation:
1.1920928955078E-5
7.4863433837891E-5
donc la méthode du split manuel avec ma config est environ 7 fois plus rapide que la méthode via strtotime();

Un autre "bench" surement moins fiable me donne ceci :

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
$date = '06.07.2011';
 
$i=1000;
 
$a = microtime(true);
 
while($i--){
	$tabDate = explode('.' , $date);
	$date_conv  = $tabDate[2].'-'.$tabDate[1].'-'.$tabDate[0];
}
 
echo (microtime(true) - $a) . '<br />';
 
$i=1000;
 
$a = microtime(true);
 
while($i--){
	$date_conv = date('Y-m-d', strtotime($date));
}
 
echo (microtime(true) - $a) . '<br />';

Citation:
0.0022659301757812
0.041615009307861
et là, un facteur 20 apparait...

C'est surement le parsing du format passé en param de strtotime() qui fait ralentir (utilisation des regex ?).

Quoi qu'il en soit sur une utilisation unaire, utilise strtotime() qui est quand même plus propre, sinon c'est à voir imo
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 16h16   #6
Invité régulier
 
Femme
Étudiant
Inscription : juin 2011
Messages : 37
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 37
Points : 6
Points : 6
Merci pour toutes vos réponses.
Merci encore stealth35 pour strtotime();
Ça marche.
J'ai pris note Madfrix.
missmiss89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 16h19   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
Citation:
Envoyé par Madfrix Voir le message
C'est surement le parsing du format passé en param de strtotime() qui fait ralentir (utilisation des regex ?).
non y'a pas regex c'est de la correspondance de format
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h28.


 
 
 
 
Partenaires

Hébergement Web