Valeurs de date dynamique dans un URL ou une requête

Nous pouvons générer des valeurs de date dynamique dans un URL ou dans le contenu de la requête HTTP. Cela peut être utile pour les services Web qui nécessitent une valeur de date dans le contenu d'une requête HTTP POST, par exemple :

… <StartDate>2013-11-27</StartDate> ...

Plutôt que d'entrer une date de valeur fixe, nous pouvons utiliser la notation suivante pour générer des valeurs en fonction de la date / heure d'aujourd'hui :

… <StartDate>{datetime;yyyy-MM-dd}</StartDate> …

A noter que d'autres formats sont également possibles. De plus, nous pouvons utiliser des décalages pour calculer des valeurs différentes.

Cette notation sera alors remplacée par une valeur réelle, calculée et mise en forme à partir de la date / heure d'aujourd'hui.

Notation

Le format général pour l'utilisation de dates dynamiques est  la suivante :

{datetime;format;offset;skipdates}

  • format: définit le format de la date / heure, en utilisant des identifiants pour jour / mois / année / heures / minutes / secondes: dd, MM, aaaa, HH, mm, ss
  • offset: définit le décalage en jours, par rapport à la date et l'heure. Les valeurs positives correspondent aux dates dans l'avenir; des valeurs négatives correspondent aux dates dans le passé.
  • skipdates: ignorer des dates spécifiques (définies au format yyyy-MM-dd) ou un jour de week-end (représenté par 'w')

Exemples

{datetime;MM/dd/yyyy;1}        "demain" au format américain

{datetime;dd-MM-yyyy;-1}       "hier" au format français

{datetime;MM/dd/yyyy;3;W}   dans 3 jours en ignorant les week-ends

{datetime;MM/dd/yyyy;1;W,2013-12-25,2014-01-01}   dans trois jours en ignorant  les jours de week-end, le Jour de Noël 2013 et le Jour de l'An 2014

{datetime;yyyy-MM-ddTHH:mm:ss"GMT+00:00"}         “maintenant” dans le format ISO

Des décalages en heures et minutes sont également possibles.

Un dernier exemple qui montre à quoi cela peut ressembler dans un URL réel spécifié dans un moniteur (qui génère deux dates : aujourd'hui + 7 jours, et aujourd'hui + 14 jours) :

http://www.mysite.com/Search?startDate={datetime;yyyy-MM-dd;7}&endDate={datetime;yyyy-MM-dd;14}

Remarque : Vous pouvez également utiliser cette notation dans le contenu d'une requête pour un moniteur HTTP / Webservice.