Lua:
Comparando duas datas

Como Fazer:

-- Carregar a biblioteca os para manipulação de datas
local os = require("os")

-- Função para comparar datas
function comparaDatas(data1, data2)
  return os.difftime(os.time(data1), os.time(data2))
end

-- Definir duas datas como tabelas
local data_Evento1 = {year=2023, month=4, day=15}
local data_Evento2 = {year=2023, month=4, day=25}

-- Comparar datas
local resultado = comparaDatas(data_Evento1, data_Evento2)

-- Saída de resultado
if resultado < 0 then
  print("Evento1 acontece depois do Evento2.")
elseif resultado > 0 then
  print("Evento1 acontece antes do Evento2.")
else
  print("Os eventos são no mesmo dia.")
end

Saída possível:

Evento1 acontece antes do Evento2.

Mergulho Profundo

Historicamente, em Lua, você tem que penar um pouco com datas porque a linguagem não tem um suporte tão direto para isso quanto outras. A biblioteca padrão os oferece funções como os.time() e os.date() para manipulação de tempo. Alternativamente, você poderia usar bibliotecas de terceiros, como luadate, para lidar com datas mais complexas se o básico não for suficiente. Em resumo, a diferença é calculada em segundos, graças a os.difftime(), o que significa que datas mais antigas resultam em números negativos e futuras em positivos quando comparadas a uma data referência.

Ver Também