Substr me donne un valeur numérique

Bonjour,

Dans un scénario j’utilisais cela pour récupérer une date d’une commande :

substr(date('d/m/Y à H:i:s',strtotime(substr(#[Chambre dexter][pronote_cours_nextday][cours_nextday_date_1]#,0))),0,10)

Cela fonctionnait bien pendant un moment, mais récemment cela me retourne une valeur numérique a virgule …

date('d/m/Y à H:i:s',strtotime(substr(#[Chambre dexter][pronote_cours_nextday][cours_nextday_date_1]#,0)))

Donne le résultat : 04/11/2024 à 09:05:00

Et dès que j’utilise le substr, cela donne : 0.0001796622349982

Alors qu’avant je récupérais bien juste : 04/11/2024

Une idée ?

Edit : je viens de piger, il réalise l’opération … 4 / 11 / 2024, 4 divisé, par 11, divisé par 2024 …

c’est normal ou une anomalie ?

Bonjour,

Il effectue l’opération mathématique 4 divisé par 11 puis divisé par 2024

Essai avec des simples quotes autour :

'substr(date('d/m/Y à H:i:s',strtotime(substr(#[Chambre dexter][pronote_cours_nextday][cours_nextday_date_1]#,0))),0,10)'

oui c’est ce que j’ai compris et fait pendant que tu répondais, et cela fonctionne, mais c’est moche ^^, bon je vais voir si je peux calculer un différence de jour avec ca ^^

thx

Et avec :

date('d/m/Y',strtotime(substr(#[Chambre dexter][pronote_cours_nextday][cours_nextday_date_1]#,0)))

Heu je suis désolé mais la c’est quand même idiot …

Tu génère la chaine « 28/10/2024 à 18:40:57 » et tu la tronque au 10 premiers caractères pour ne garder que « 28/10/2024 ».
Si il n’y a que la date qui t’intéresse, ne génère pas la date et l’heure pour tronquer à la date …

Donc fait un date(‹ d/m/Y ›) et pas date(‹ d/m/Y à H:i:s ›)

:thinking:

Ca change pas que cela fera le calcul quand je vais le mettre dans la variable, non ?

Nan, je vais faire avec les guillemets c’est pas super beau, mais on fera avec ^^

Oui c’est exactement la même chose que ce que tu as écrit mais je préfère expliquer pourquoi je propose cela et pas juste donner la formule.
Car la désolé mais on dirait vraiment quelqu’un qui à copié un bout de code sur internet et qui ne comprend pas ce qu’il à fait donc c’est mieux en le disant …

Sans les quotes oui.

Mais sur le fond convertir une commande en date heure pour tronquer les 10 premiers caractères pour ne garder la date ça n’a aucun sens.

heu sisi j’ai compris, mais je me sert de la date + heure dans d’autre endroit, je pense que si je vous avais mis les variable ca n’aurait pas été parlant.

ouai mais est-ce cela mon problème ? non

Je garde les guillemet pour le calcul entre 2 date qui fonctionne et je ferais avec guillemet dans les sms, dans les announces vocal ce n’aura pas d’importance.

Merci tout de meme.

Les mystères du Core fait que date('d/m/Y',strtotime(substr(#[Chambre dexter][pronote_cours_nextday][cours_nextday_date_1]#,0))) ne donne pas 04/11/2024

le pire c’est que cela fonctionnais il y a 2-3 maj

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.