Vue d’ensemble
Le moteur de substitution de texte de Fox4Work intègre un mécanisme puissant de jetons de date dynamiques. Il permet d’injecter, de formater et d’ajuster automatiquement des dates et heures (locales ou UTC) à l’intérieur de n’importe quel modèle de texte (requêtes API, messages, requêtes SQL, chemins de fichiers, etc.).
La syntaxe générale d’un jeton de date est la suivante :
$JETON$(format, décalage)
Les Jetons de Référence disponibles
Quatre jetons de base peuvent être utilisés, insensibles à la casse :
| Jeton | Description technique |
$DATEACTUEL$ |
Date et heure actuelles du système (DateTime.Now). |
$DATEACTION$ |
Date et heure de l’action transmise en paramètre (Date_action). Si vide ou non fournie, utilise DateTime.Now par défaut. |
$DATEACTION_UTC$ |
Date d’action convertie en temps universel coordonné (UTC). |
$DATEACTUEL_UTC$ |
Date actuelle convertie en temps universel coordonné (UTC). |
Les Décalages Temporels (Offsets)
Il est possible d’appliquer un décalage (positif ou négatif) sur la date de référence en utilisant le format suivant : [nombre][unité].
-
Unités supportées :
-
j: Jours (AddDays) -
h: Heures (AddHours) -
m: Minutes (AddMinutes)
-
-
Exemples d’utilisation du décalage :
-
+1j: Ajoute 1 jour -
-3j: Retire 3 jours -
-1h: Retire 1 heure -
+30m: Ajoute 30 minutes
-
Les Formats d’Affichage
Le format spécial zoulou (Norme ISO 8601 UTC)
Le format se place toujours en premier argument avant la virgule. Deux approches sont possibles
En écrivant zoulou comme format, la date est automatiquement convertie en UTC et formatée selon la norme standard ISO : yyyy-MM-dd'T'HH:mm:ss'Z'.
-
Exemple :
$DATEACTION_UTC$(zoulou, -1h)$ -
Résultat :
2026-10-26T10:30:00Z
Les formats personnalisés .NET standards
Vous pouvez utiliser n’importe quel masque de formatage standard .NET :
-
yyyy-MM-dd–>2026-10-26(Format par défaut si le champ format est vide) -
dd/MM/yyyy–>26/10/2026 -
dd/MM/yyyy HH:mm:ss–>26/10/2026 14:30:00 -
dd MMMM yyyy–>26 octobre 2026
Exemples pratiques
| Cas d’usage | Modèle avec jeton | Résultat généré (Exemple) |
| Date du jour simple | Rapport du $DATEACTUEL$(dd/MM/yyyy) |
Rapport du 26/10/2026 |
| Date d’action + 3 jours | Échéance au $DATEACTION$(yyyy-MM-dd, +3j) |
Échéance au 2026-10-29 |
| Heure UTC avec recul d’1h | Filtre : $DATEACTION_UTC$(zoulou, -1h) |
Filtre : 2026-10-26T10:00:00Z |
| Horodatage complet | Log_ $DATEACTUEL_UTC$(yyyyMMdd_HHmmss) |
Log_20261026_120000 |
Bonnes pratiques pour les Techniciens
Gestion des valeurs nulles : Pour le jeton DATEACTION, si aucune date n’est injectée par le code appelant, le système bascule automatiquement sur la date actuelle (DateTime.Now) pour éviter les erreurs d’exécution.