Si tu est sur CakePHP 3 tu peux utiliser la classe Time
Book
Bonjour et merci d'avance pour votre aide.
J'aimerais utiliser cette fonction, pour convertir mes dates.
TimeHelper, CakeTime::format()
Pratique et facile à utiliser, le soucis c'est qu'elle confond les mois(%m) et les jours(%d).
bootstrap.php
Debug
mode.php
Merci à vous,
8 réponses
Non, je suis en CakePHP 2.x
Bonjour.
Si tu est sur CakePHP 3 tu peux utiliser la classe Time
Je ne pense pas qu'il soit sur la V3, étant donné que sur la V3 il n'y a plus d'appel à CakeTime.
@MajidCameleon, il ne faut pas que tu confondes le Helper et l'utilitaire.
Ensuite, tu dois donner sous le format SQL 2015-08-15 ou 2015-08-15 16:56:00 et non 15/08/2015.
Merci pour vos réponses,
@Lartak: il ne faut pas que tu confondes le Helper et l'utilitaire.
En quoi ai-je confondu helper et utilitaire ?
@Lartak: Ensuite, tu dois donner sous le format SQL 2015-08-15 ou 2015-08-15 16:56:00 et non 15/08/2015.
Je suis conscient, mais l'a n'est pas le probléme.
Que je passe d'un format de type (jj-mm-aaa) à (aaaa-mm-jj) et inversemment.
CakeTime, confond %m et %d et me revoie des dates érronées.
Pourtant j'ai bien configurér mon setlocale() et ma config CakePHP est bien en français.
Je comprend rien,
Ma vue, view()
Mon model, beforeSave()
En quoi ai-je confondu helper et utilitaire ?
Parce que tu nous donnais le lien du Helper, alors que dans ton code tu désignais l'utilitaire.
Que je passe d'un format de type (jj-mm-aaa) à (aaaa-mm-jj) et inversemment.
CakeTime, confond %m et %d et me revoie des dates érronées.
Comme je te l'ai déjà dit, la méthode format de l'utilitaire Time, attend une chaine de date au format SQL pour le convertir par la suite.
Donc si tu ne lui donnes pas la chaîne sous le format qu'elle attend, elle ne pourra pas la convertir correctement.
Ce qui fait que ton utilisation de la méthode dans le beforeSave est totalement inutile.
Et puis, si tu regardes dans la documentation concernant la méthode format, elle utilise la fonction strftime de PHP et cette fonction attend une chaîne sous le format mois/jour/années et non jour/mois/année, donc dans le cas ou la chaîne n'est pas sous le format SQL, elle utilise la fonction strftime.
Merci @Lartak
J y vois claire maintenant.
De rien, avec plaisir.