Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1355 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] DATE : Problème de formatage

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] DATE : Problème de formatage

n°2462411
spark
Luc ?
Posté le 22-01-2024 à 22:58:58  profilanswer
 

Bonjour,
 
J'essaie de traduire les DateTimeImmutable en Francais en utilisant la technique suivante :
 

Code :
  1. $start = new DatetimeImmutable("2024-01-01" );
  2.   $start2 = new DatetimeImmutable("2017-01-01" );
  3.   $fmt = new IntlDateFormatter(
  4.     'fr_FR',
  5.     IntlDateFormatter::FULL,
  6.     IntlDateFormatter::FULL,
  7.     null,
  8.     null, //IntlDateFormatter::GREGORIAN,
  9.     'MMMM Y'
  10.   );
  11.    
  12.   echo $fmt->format($start)."<br />";
  13.   echo $fmt->format($start2);


Résultat :  

janvier 2024
janvier 2016


 
Pourquoi janvier 2016 au lieu de janvier 2017 ?  
Bonne question :o
 
Si vous avez une idée :)


Message édité par spark le 23-01-2024 à 00:32:55

---------------
Un cycle complet sera une série de 100.
mood
Publicité
Posté le 22-01-2024 à 22:58:58  profilanswer
 

n°2462413
spark
Luc ?
Posté le 22-01-2024 à 23:42:16  profilanswer
 

ca semble marcher avec  
 

Code :
  1. $fmt = new IntlDateFormatter(
  2.     'fr_FR',
  3.     IntlDateFormatter::FULL,
  4.     IntlDateFormatter::FULL,
  5.     null,
  6.     null, //IntlDateFormatter::GREGORIAN,
  7.     'MMMM y'
  8.   );


 
'y' au lieu de 'Y', comportement étrange !!


---------------
Un cycle complet sera une série de 100.
n°2462460
theBattous​ai
Posté le 23-01-2024 à 13:18:28  profilanswer
 

Ce n'est pas étrange, c'est la norme utilisée.
On utilise le minuscule pour l'année, et le majuscule pour "l'année de la semaine".

n°2462463
spark
Luc ?
Posté le 23-01-2024 à 13:55:20  profilanswer
 

un lien vers la doc ?


---------------
Un cycle complet sera une série de 100.
n°2462477
theBattous​ai
Posté le 23-01-2024 à 15:41:14  profilanswer
 
n°2462481
spark
Luc ?
Posté le 23-01-2024 à 16:13:17  profilanswer
 

https://unicode-org.github.io/icu/u [...] /datetime/


---------------
Un cycle complet sera une série de 100.
n°2462982
rufo
Pas me confondre avec Lycos!
Posté le 29-01-2024 à 13:23:46  profilanswer
 

Facile : le 01/01/2017 tombe un dimanche, donc la semaine appartient à l'année précédente et donc, pour 2017, la semaine n°1 commençait le 02/01/2017.
La norme pour définir la semaine n°1 d'une année : celle qui contient le premier jeudi de l'année. ;)
 
Les formats : https://www.php.net/manual/fr/datetime.format.php


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2463022
spark
Luc ?
Posté le 29-01-2024 à 17:52:57  profilanswer
 

oui la fonction ->format est très puissante, mais elle ne retourne que des noms de mois/jours en anglais. D'où la bidouille avec IntlDateFormatter


---------------
Un cycle complet sera une série de 100.
n°2463023
rufo
Pas me confondre avec Lycos!
Posté le 29-01-2024 à 17:58:47  profilanswer
 

fonction date(), ça serait pas mieux ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2463042
spark
Luc ?
Posté le 29-01-2024 à 19:19:03  profilanswer
 

ca prends pas en charge la langue je crois.
 
sinon y a strftime()
https://www.php.net/manual/fr/function.strftime.php
 
OBSOLETE depuis php 8.1.0


---------------
Un cycle complet sera une série de 100.
mood
Publicité
Posté le 29-01-2024 à 19:19:03  profilanswer
 

n°2463049
rufo
Pas me confondre avec Lycos!
Posté le 29-01-2024 à 20:21:32  profilanswer
 

Si tu as un nb de langues limité, tu peux te recoder la fonction en mettant toutes les traducs de mois dans un tableau associatif dont la première clé est le code de la langue et ensuite, les mois de 0 à 11 (donc pour afficher la traduc, tu fais le n° du mois - 1 pour tomber sur le bon indice dans le tableau);)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] DATE : Problème de formatage

 

Sujets relatifs
probleme requete sqlAfficher une image selon la date et avec lien hyper texte
Problème à résoudreLien comportant la date du jour
Probleme copier/coller entre Excel et WordProblème Curdate et date du serveur sql
Select dans plusieurs BDD avec UNION - Problème de doublons[Nginx] Problème URL rewritting via regex
[problème] Php Ajax refresh, Js eventProblème de formatage de date sous MySQL
Plus de sujets relatifs à : [PHP] DATE : Problème de formatage


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR