|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 30 ![]() |
Bonjour,
Pour l'insertion des microdonnées , les dates doivent être au format ISO Je voudrais ajouter une fonction pour que $date_debut actuellement au format YYYYMMDD s'affiche au format YYYY-MM-DD Faut-il créer une seconde date au bon format pour les microdonnées, comment effectuer la conversion ? Merci d'avance |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() |
Bonjour,
Fais comme ça : Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 30 ![]() |
Merci, pour ta réponse,
Voici le code appliqué à la page, Code :
Code :
|
||||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() |
Euh, j'ai du mal à suivre : tu as une fonction formatage_date() qui te sers à quoi vu que tu refait un formatage de date après ?
Postes aussi le code pour les microdonnées dans la foulée.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 30 ![]() |
S'agissant d'événements, je dois afficher "du tant au tant" (si durée > un jour) d'ou la fonction formatage_date qui affiche la date en clair dans la page
les microdonnées au complet: Code :
|
||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() |
Dans quelle partie du code cette erreur apparait ?
Parce que dans ton echo, il me semble qu'il n'y a pas d'erreurs
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 30 ![]() |
devant la ligne 6 ci-dessus: $datedebut=DateTime ...
je me penche aussi sur cette doc [URL="http://php.net/manual/fr/datetime.createfromformat.php"[/URL] mais pas facile ... |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() |
Ok, que te renvoie cette ligne : Tu as l'erreur parce que le format de $date_debut ne plait pas à DateTime
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 30 ![]() |
cette ligne dans la table sql affiche un nombre à 8 chiffres ex: 20120104
mais est en varchar et non pas en date utc j'ai aussi ceci en début de code pour l'affichage en clair Code :
$date_actuelle = date('Y') ."".date('m')."".date('d') ; |
|
|
00
|
|
|
#10 | ||
|
Expert Confirmé
![]() ![]() |
Bon pour avoir la date du jour c'est :
Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
00
|
|
|
#11 | ||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 30 ![]() |
Pour formatage_date j'ai juste ce code:
Code :
$formatDate = formatage_date($date_debut, $date_fin); tête cette formule te parle t-elle ? Code :
DateTime.ParseExact(dateString, "yyyyMMdd", null).ToString("yyyy-MM-dd"); Retourne la date UTC courante au format 'YYYY-MM-DD' ou YYYYMMDD suivant le contexte numérique ou chaîne : Code :
Pour info un lien concernant les microdonnées: http://support.google.com/webmasters...&answer=176035 |
||
|
|
00
|
|
|
#12 | ||
|
Expert Confirmé
![]() ![]() |
Bon,
pour arriver à ce que tu souhaites il faut faire comme ça : Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
00
|
|
|
#13 | |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 30 ![]() |
Citation:
Tout vient de là il me semble Dans mysql, les dates ont été insérées en varchar, il faudrait donc commencer par avoir des champs au format date , et donc récupérer les anciennes valeurs dans ces nouveaux champs au bon format Je cherche une formule pour réaliser cette opération |
|
|
|
00
|
|
|
#14 |
|
Expert Confirmé
![]() ![]() |
Bonjour,
Pour convertir tes chaines en date tu disposes d'un paquet de fonctions en mysql : regardes ici. Ensuite, cela serait bien si tu postais le corps de la fonction formatage_date(), histoire de voir comment la date texte récupérée de mysql est transformée en date.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 30 ![]() |
Bonjour,
Le pb venait de la version PHP utilisée, en l'occurence PHP 5. Les fonctions que tu m'as données marchent et ma page avec les microdonnées est validée, mais il est nécessaire de passer à PHP 5.3 . Reste plus qu'à mettre à jour le code pour être compatible avec cette version... Merci beaucoup de ton aide |
|
|
00
|
|
|
#16 | |||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 30 ![]() |
Bonjour,
Pour répondre à ta question, voici le fonction formatage_date. Celle-ci était bien cachée, mais la voilà, je viens de la localiser et en effet, sous PHP 5.3, elle génére un beau warning:Citation:
Une idée afin que celle-ci s'affiche correctement sous php 5.3 ? Code :
|
|||
|
|
00
|
|
|
#17 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 219 ![]() |
c'est quoi cette fonction ignoble, y'a tout ce qu'il faut dans PHP pour faire ça
Code :
__________________
http://blog.stealth35.com/ |
||
|
|
10
|
|
|
#18 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 30 ![]() |
Le php de mon site a pris aussi un coup de vieux on dirait
Merci pour ce code sobre et efficace , les dates s'affichent désormais correctement sous PHP 5.3 et normalement cela devrait même accélérer la vitesse de chargement Merci beaucoup pour votre aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com