Calcul d'une date future ou passée

Lua:
Calcul d'une date future ou passée

Comment faire :

En Lua, on utilise souvent os.date et os.time. Voici un exemple basique :

local aujourd_hui = os.time() -- Temps actuel en secondes
local jours = 5

-- Calculer une date dans le futur (+) ou dans le passé (-)
local futur = os.date("*t", aujourd_hui + (jours * 86400))
print("Dans " .. jours .. " jours, on sera le " .. os.date("%d/%m/%Y", os.time(futur)))

Sortie possible :

Dans 5 jours, on sera le 12/04/2023

Pour retrancher des jours :

local passe = os.date("*t", aujourd_hui - (jours * 86400))
print("Il y a " .. jours .. " jours, on était le " .. os.date("%d/%m/%Y", os.time(passe)))

Sortie possible :

Il y a 5 jours, on était le 02/04/2023

Pour aller plus loin :

Historiquement, gérer les dates en programmation a toujours été un peu casse-tête à cause des fuseaux horaires et des années bissextiles. Lua ne fait pas exception, mais offre une certaine simplicité avec os.date et os.time.

Des alternatives incluent l’utilisation de bibliothèques tierces comme luadate, qui a des fonctions plus avancées pour manipuler les dates.

En termes de mise en œuvre, on effectue souvent des calculs en se basant sur des secondes puisqu’une date en Lua est simplement le nombre de secondes depuis l’époque (1er janvier 1970). C’est ce qu’on appelle un timestamp.

Voir Aussi :