changement d'une date avec #SET #GET

Spip 2.1.29

Bonjour,

J’ai un date DATE_DEBUT (dans une BOUCLE_E(EXERCICE) …) qui se presente comme 2017-07-01
Comme je veux la changer pour 2017-05-01 j’utilise, car je ne sais pas faire autrement, une série de #SET #GET

#SET{date_an,#_exercice:DATE_DEBUT|affdate{Y}}
#SET{date_mois,#_exercice:DATE_DEBUT|affdate{mois}|moins{2}}
#SET{date_jour,#_exercice:DATE_DEBUT|affdate{d}}

#SET{date_enregistre,#GET{date_an}-0#GET{date_mois}-#GET{date_jour}}

Le mois ne s’affichant qu’avec un chiffre, j’ajoute le 0 dans le 0#GET{date_mois} afin d’obtenir le format souhaité avec #GET{date_enregistre} qui m’affiche bien : 2017-05-01

Pourtant dans ma boucle #GET{date_enregistre} ne filtre pas les résultats :

<BOUCLE_comptes(ASSO_COMPTES){date_operation<#_exercice:DATE_FIN}{date_operation>#GET{date_enregistre}}{id_journal=#ID_AUTEUR}{imputation=756}{recette>0}>

alors que si je mets la date en dur 2017-05-01 cela fonctionne.

<BOUCLE_comptes(ASSO_COMPTES){date_operation<#_exercice:DATE_FIN}{date_operation>2017-05-01}{id_journal=#ID_AUTEUR}{imputation=756}{recette>0}>

Je ne vois pas d’où vient cette différence. Une erreur de syntaxe ?

Par ailleurs est-ce possible faire plus simple ?

Merci de vos éclairages.

Salut,

Il vaut mieux utiliser la fonction strtotime qui permet de faire des opérations sur les dates.
Cf

jean marie

En effet, merci.

Le jeu. 22 févr. 2018 à 11:58, Jean Marie Grall <jeanmarie.listes@cousumain.info> a écrit :

Salut,

Il vaut mieux utiliser la fonction strtotime qui permet de faire des opérations sur les dates.
Cf https://www.mail-archive.com/spip@rezo.net/msg61110.html

jean marie

Le 22/02/2018 à 11:11, VivaSpip a écrit :

Spip 2.1.29

Bonjour,

J’ai un date DATE_DEBUT (dans une BOUCLE_E(EXERCICE) …) qui se presente comme 2017-07-01
Comme je veux la changer pour 2017-05-01 j’utilise, car je ne sais pas faire autrement, une série de #SET #GET

#SET{date_an,#_exercice:DATE_DEBUT|affdate{Y}}
#SET{date_mois,#_exercice:DATE_DEBUT|affdate{mois}|moins{2}}
#SET{date_jour,#_exercice:DATE_DEBUT|affdate{d}}

#SET{date_enregistre,#GET{date_an}-0#GET{date_mois}-#GET{date_jour}}

Le mois ne s’affichant qu’avec un chiffre, j’ajoute le 0 dans le 0#GET{date_mois} afin d’obtenir le format souhaité avec #GET{date_enregistre} qui m’affiche bien : 2017-05-01

Pourtant dans ma boucle #GET{date_enregistre} ne filtre pas les résultats :

<BOUCLE_comptes(ASSO_COMPTES){date_operation<#_exercice:DATE_FIN}{date_operation>#GET{date_enregistre}}{id_journal=#ID_AUTEUR}{imputation=756}{recette>0}>

alors que si je mets la date en dur 2017-05-01 cela fonctionne.

<BOUCLE_comptes(ASSO_COMPTES){date_operation<#_exercice:DATE_FIN}{date_operation>2017-05-01}{id_journal=#ID_AUTEUR}{imputation=756}{recette>0}>

Je ne vois pas d’où vient cette différence. Une erreur de syntaxe ?

Par ailleurs est-ce possible faire plus simple ?

Merci de vos éclairages.

_______________________________________________
liste spip
[spip@rezo.net](mailto:spip@rezo.net) - désabonnement : envoyer un mail à  [spip-off@rezo.net](mailto:spip-off@rezo.net)

Archives : [https://www.mail-archive.com/spip@rezo.net/maillist.html](https://www.mail-archive.com/spip@rezo.net/maillist.html)

Infos : [http://listes.rezo.net/mailman/listinfo/spip](http://listes.rezo.net/mailman/listinfo/spip)

Documentation de SPIP : [http://www.spip.net/](http://www.spip.net/)

Irc : de l'aide à toute heure : [http://spip.net/irc](http://spip.net/irc)

liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc