Fonction date en Français
Résolu/Fermé
LaChaux78
LaChaux78
- Messages postés
- 410
- Date d'inscription
- lundi 25 juillet 2016
- Statut
- Membre
- Dernière intervention
- 24 novembre 2021
LaChaux78
- Messages postés
- 410
- Date d'inscription
- lundi 25 juillet 2016
- Statut
- Membre
- Dernière intervention
- 24 novembre 2021
A voir également:
- Php date format french
- Php date en français - Meilleures réponses
- Php afficher date en français - Meilleures réponses
- PHP comment mettre la date en Français ? ✓ - Forum - PHP
- PHP date au format français impossible... ✓ - Forum - PHP
- PHP date au format YYYY-MM-DD ✓ - Forum - PHP
- Format date en PHP/MySQL ✓ - Forum - PHP
- Fonction date en Français ✓ - Forum - PHP
4 réponses
Et demain si tu testes ta fonction, ça sera Samedi 10 Octobre 2016, et c'est normal car la fonction date(), si tu précises pas de Timestamp en second paramètres, il prendra la date du jour.
Du coup au lieu de faire ça:
Essaye ça:
Après quelques astuces pour améliorer ton code, déjà tu peux gagner une ligne avec ça:
En changeant par:
D'ailleurs une astuce pour tes codes plus tard, essaye les conditions ternaires, par exemple:
Après évite de mettre un champs vide dans un tableau, essaye plutôt ça:
Du coup au lieu de faire ça:
date("w")
Essaye ça:
date("w", strtotime($out[3].'-'.$i.'-'.$out[1]))
Après quelques astuces pour améliorer ton code, déjà tu peux gagner une ligne avec ça:
if($out[2] < 10) { $out[2] = substr($out[2],1,1); }
$i = $out[2];
En changeant par:
$i = intval($out[2])
D'ailleurs une astuce pour tes codes plus tard, essaye les conditions ternaires, par exemple:
if($out[2] < 10) { $out[2] = substr($out[2],1,1); }
$i = $out[2];
//devient:
$i = ($out[2] < 10) ? substr($out[2],1,1) : $out[2];
//ça se construit comme ça:
$var = (cond) ? true : false;
Après évite de mettre un champs vide dans un tableau, essaye plutôt ça:
$mois = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
//et $mois[$i] devient $mois[$i-1]
LaChaux78
12 août 2016 à 19:41
- Messages postés
- 410
- Date d'inscription
- lundi 25 juillet 2016
- Statut
- Membre
- Dernière intervention
- 24 novembre 2021
12 août 2016 à 19:41
Bonjour
Je te remercie de ton aide, j'ai donc mis la fonction
en modifiant setlocal pour le français sinon c'étais en anglais. Mais maintenant les mois avec des accents ne passe pas.
Je te remercie de ton aide, j'ai donc mis la fonction
function dateFR($date){ setlocale (LC_TIME, 'fr_FR.utf8','fra'); return ucwords(utf8_encode(strftime("%A %d %B %Y", strtotime(substr($date, 0, 10))))).' '.substr($date, 10); }
en modifiant setlocal pour le français sinon c'étais en anglais. Mais maintenant les mois avec des accents ne passe pas.
LaChaux78
12 août 2016 à 21:50
- Messages postés
- 410
- Date d'inscription
- lundi 25 juillet 2016
- Statut
- Membre
- Dernière intervention
- 24 novembre 2021
12 août 2016 à 21:50
En fait j'ai gardé ma fonction avec ta modif que tu m'as proposé.
et tout fonctionne comme je le souhaitais.
Je te remercie
date("w", strtotime($out[3].'-'.$i.'-'.$out[1]))
et tout fonctionne comme je le souhaitais.
Je te remercie
LaChaux78
Modifié par LaChaux78 le 13/08/2016 à 22:05
- Messages postés
- 410
- Date d'inscription
- lundi 25 juillet 2016
- Statut
- Membre
- Dernière intervention
- 24 novembre 2021
Modifié par LaChaux78 le 13/08/2016 à 22:05
Bonjour,
En fait tout est rentré dans l'ordre comme tu me l'a dit j'ai supprimé utf8_encode et nickel
MERCI
En fait tout est rentré dans l'ordre comme tu me l'a dit j'ai supprimé utf8_encode et nickel
MERCI
12 août 2016 à 15:45