Besoin basique : afficher une date au format JJ/MM/AAAA

Bonjour à tous
Question déjà posée à de multiples reprises sous toutes ses formes, pourtant ça fait au moins 3 heures que je fouille les forums sans dénicher la solution à mon problème.

Je récupère une date et une heure au format texte : par exemple 22/09/2020 à 17:52.
Je voudrais juste récupérer la date et l’afficher telle quelle.

Je parviens bien à extraire 22/09/2020, mais quand je colle la valeur dans une info virtuelle, Jeedom fait le calcul 22 divisé par 9 divisé par 2020 (0,000xxx). Enfin je n’ai pas refait le calcul, mais je suppose que c’est ça.

Toutes les fonctions d’affichage que j’ai trouvées s’appliquent à la date du jour (date()), ou à un timestamp. J’arrive parfaitement à afficher JJ/MM/AAAA HH:MM, mais une simple date, impossible.

Et ça m’a fait la même chose dans un autre contexte en mettant des tirets à la place des /.

C’est tellement basique comme besoin qu’il me paraît incompréhensible qu’il n’y ait pas une solution simple. Alors je dois m’y prendre comme un manche pour ne pas y arriver.

Quelqu’un pour m’expliquer comment éviter l’interprétation d’une valeur 22/09/2020 comme une division et simplement afficher comme un texte ?
Merci d’avance. Bonne soirée

Bonjour

Je crois que ce n’est pas possible en direct.
Il faut le stocker dans une variable et afficher ta variable

Untitled-1

1 « J'aime »

Hello
Merci pour vos réponses
@drs
Je viens d’essayer de faire un substr() de mon texte dans une variable et c’est la même chose : la variable contient 0.00044004400440044 alors que je lui ai passé 08/09/2020.

@kiboost
Ca fait plaisir de voir Oumpah-Pah. Longtemps que je ne l’ai pas lu.
Mais je ne comprends pas ta réponse. Si je le colle en texte dans le virtuel avec les guillemets ou les apostrophes, soit. Mais comment je lui passe une valeur au virtuel ? C’est à ce moment là qu’il me fait le calcul (par exemple sur un event, ou même si je mets la formule dans la variable info).

Merci

:rofl:

$cmd->event(‹ " ›.$var.‹ " ›); ?

@kilboost
peut être bloc code, mais il va falloir que je passe deux autres heures à chercher comment faire un event en bloc code…

Je croit que @kiboost ta bien montré
il faut que ta commande soit une info virtuel AUTRE ni numerique ni binaire …

2 « J'aime »

@olive
Oui, bien sur, c’est une info autre.
@kilboost
OK, ça semble fonctionner avec :

cmd::byString(« #[Piece][Nomt][Valeur]# »)->event((‹ " ›.$dateseule.‹ " ›));

Je te remercie, le sujet est donc résolu.
Toutefois, je suis quand même surpris de ce comportement, dans un scénario standard.
Il me semble quand même anormal de ne pas pouvoir affecter une simple valeur de date à une variable ou à une info virtuelle via un calcul dans le virtuel ou via un scénario Jeedom, et d’être obligé de passer par du code.
C’est quand même une notion basique. Mettre si j’ose dire les mains dans le cambouis juiste pour ça… Enfin, ça fonctionne c’est l’essentiel.

Merci encore

strftime(%t %d/%m/%Y,strtotime("22-09-2020 09:40"))

image

image

image

https://www.php.net/manual/fr/function.strftime.php

les dates c’est pas si simple

4 « J'aime »

Hello @ajja17orange

Merci beaucoup, c’est super.
J’ai copié collé ta solution et l’ai mise dans ma doc Jeedom pour la prochaine fois. Ca va servir à coup sûr.

C’est ce que je vois, mais je viens de langages où ça l’était, alors ça me surprends beaucop !

Merci encore

tu peux englober différente fonction PHP
pour un besoin spécifique
exemple

par comparaison à ton soucis
pour toi le retour de la date commence par %t → tab
si tu commences par une lettre « Le » tu n’en a pas besoin.

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