[pmwiki-users-fr] calculer le nombre de jours restants avant une date
Petko Yotov
5ko at 5ko.fr
Ven 25 Avr 07:16:09 PDT 2025
Pardon, j'ai changé le conditionnel sans mettre à jour l'expression
(ligne avec $t2):
$FmtPV['$Now'] = '$GLOBALS["Now"]';
$MarkupExpr['difftime'] = 'ME_difftime($args)';
function ME_difftime($args) {
global $Now;
$t1 = strtotime($args[0]);
$t2 = isset($args[1]) && $args[1] ? strtotime($args[1]) : $Now;
$div = isset($args[2]) && $args[2] ? PPTD($args[2]) : 86400;
return round(($t1-$t2)/$div, 1);
}
Petko
On 25/04/2025 16:09, Petko Yotov wrote:
> Pour des calculs compliqués, il est parfois plus facile d'ajouter une
> nouvelle expression dédiée.
>
> Par exemple, dans config.php:
>
> $FmtPV['$Now'] = '$GLOBALS["Now"]';
> $MarkupExpr['difftime'] = 'ME_difftime($args)';
> function ME_difftime($args) {
> global $Now;
> $t1 = strtotime($args[0]);
> $t2 = isset($args[1]) && $args[1] ? $Now : strtotime($args[1]);
> $div = isset($args[2]) && $args[2] ? PPTD($args[2]) : 86400;
> return round(($t1-$t2)/$div, 1);
> }
>
> Puis dans une page:
>
> # {(difftime {$:Date})} jours
> # {(difftime @{$Now} {$:Date} )} jours
> # {(difftime {$:Date} @{$Now} 1h )} heures
>
> Résultat:
>
> 1. 6.4 jours
> 2. -6.4 jours (on a permuté les dates)
> 3. 152.5 heures
>
> C'est mieux d'écrire la date avec des tirets: 2025-05-02.
>
> Il peut y avoir un bug dans le traitement de l'expression complexe,
> j'essayerai de trouver du temps pour l'étudier.
>
> Petko
>
> P.S. PPTD() existe depuis PmWiki 2.4.4.
>
> On 25/04/2025 14:32, ooioo wrote:
>> Bonjour,
>> je voudrais afficher dans une page de mon wiki le nombre de jours
>> restant avant la date d'un événement.
>> J'ai vu :
>> https://www.pmwiki.org/pipermail/pmwiki-users/2008-February/049421.html
>>
>> # {(div 33 2)}
>> # {(sub (div 33 2) 2)}
>> # {(ftime today)}
>> # {(ftime %s today)}
>> (:Date:2025/05/02:)
>> #{$:Date}
>> # {(ftime {$:Date})}
>> # {(ftime %s {$:Date})}
>> # {(sub (ftime %s {$:Date}) (ftime %s today))}
>> # {(div (sub (ftime %s {$:Date}) (ftime %s today)) 86400)}
>>
>> * 16.5
>> * 14.5
>> * 25 avril 2025 à 00h00
>> * 1745532000
>> * 2025/05/02
>> * 02 mai 2025 à 00h26
>> * 1746138377
>>
>> *
>> * 86400
>>
>> 8 reste vide, {(sub (ftime %s {$:Date}) (ftime %s today))} ne
>> fonctionne pas.
>>
>> Je ne trouve pas...
>>
>> Cordialement,
>>
>> Pierre.
>
> _______________________________________________
> pmwiki-users-fr mailing list
> pmwiki-users-fr at pmichaud.com
> http://www.pmichaud.com/mailman/listinfo/pmwiki-users-fr
Plus d'informations sur la liste de diffusion pmwiki-users-fr