Note :


Le module TIME propose plusieurs fonctions pour manipuler différents formats de date.

Il offre les fonctions suivantes:


now

La fonction now permet d'obtenir la date et l'heure locale au format AAAAMMJJhhmmss c'est à dire: l'année sur 4 chiffres et le mois, le jour, les heures, minutes et secondes sur 2 chiffres (ex: 20020814203015 pour le 14/08/2002 à 20:30 et 15 secondes. Elle ne prend pas de paramètre.

Exemple :

~now()   =>      20250617034536

Les fonctions timestamp2

Il existe 5 fonctions pour manipuler une date au format AAAAMMJJhhmmss.

Ces fonctions sont :

Elles prennent un seul paramètre : la date à traiter.

Exemples :

~timestamp2month('20250617034536') =>	06
~timestamp2hhmmss('20250617034536')	=>	03:45:36
~timestamp2year('20250617034536') =>	2025

format_timestamp

La fonction ~format_timestamp() prend plusieurs paramètres. Le premier est le format de destination, le deuxième la date à traiter (toujours au format AAAAMMJJhhmmss).

~format_timestamp('%d/%m/%y %H:%M','20250617034536')

Cette commande donnera : 17/06/25 03:45

Les caractères suivants sont utilisés pour spécifier le format de la date :

%a - nom abrégé du jour de la semaine (local).
%A - nom complet du jour de la semaine (local).
%b - nom abrégé du mois (local).
%B - nom complet du mois (local).
%c - représentation préférée pour les dates et heures, en local.
%C - numéro de siècle (l'année, divisée par 100 et arrondie entre 00 et 99)
%d - jour du mois en numérique (intervalle 01 à 31)
%D - identique à %m/%d/%y
%e - numéro du jour du mois. Les chiffres sont précédés d'un espace (de ' 1' à '31')
%h - identique à %b
%H - heure de la journée en numérique, et sur 24-heures (intervalle de 00 à 23)
%I - heure de la journée en numérique, et sur 12-heures (intervalle 01 à 12)
%j - jour de l'année, en numérique (intervalle 001 à 366)
%m - mois en numérique (intervalle 1 à 12)
%M - minute en numérique
%n - newline character
%p - soit `am' ou `pm' en fonction de l'heure absolue, ou en fonction des valeurs enregistrées en local.
%r - l'heure au format a.m. et p.m.
%R - l'heure au format 24h
%S - secondes en numérique
%t - tabulation
%T - l'heure actuelle (égal à %H:%M:%S)
%u - le numéro de jour dans la semaine, de 1 à 7. (1 représente Lundi)
%U - numéro de semaine dans l'année, en considérant le premier dimanche de l'année comme le premier jour de la première semaine.
%V - le numéro de semaine comme défini dans l'ISO 8601:1988, sous forme décimale, de 01 à 53. La semaine 1 est la première semaine qui a plus de 4 jours dans l'année courante, et dont Lundi est le premier jour.
%W - numéro de semaine dans l'année, en considérant le premier lundi de l'année comme le premier jour de la première semaine
%w - jour de la semaine, numérique, avec Dimanche = 0
%x - format préféré de représentation de la date sans l'heure
%X - format préféré de représentation de l'heure sans la date
%y - l'année, numérique, sur deux chiffres (de 00 à 99)
%Y - l'année, numérique, sur quatre chiffres
%Z - fuseau horaire, ou nom ou abréviation
%% - un caractère `%' littéral

format_unixtimestamp

Il existe un autre format de date assez répandu, le timestamp UNIX. Un timestamp UNIX est le nombre de secondes écoulées depuis le 1er janvier 1970 à 00h 00m 00s GMT. Par exemple, pour le 09/09/01 à 03:46:40, le timestamp correspondant est 1000000000.

L'utilisation de ~format_unixtimestamp() est exactement la même que ~format_timestamp()

~format_unixtimestamp('%d/%m/%y %H:%M:%S', 1750124736)

L'exemple précédent retournera "17/06/25 03:45:36".