Introdução:
Tenho certeza que muitos não sabem o quão útil timestamp é, Por isso resolvi fazer esse tutorial (e tambem por uma duvida postada pelo usuário BeYourself).
Conteúdos deste tutorial
1. Introdução 2. Conteúdos deste tutorial (aqui ) 3. Oque é. 4. Como e onde usa-los 5. Alguns cálculos uteis 6. Exemplos Práticos 7. Finalização
Oque é
Timestamp é, basicamente, Os segundos que se passaram desde 1 de Janeiro de 1970, é muito mais pratico usar timestamp em vez de calcular que dia sera daqui 2597 horas, por exemplo.
Exemplos de timestamp's:
1434667957 // Data de criação deste tutorial
1 //1 de Janeiro de 1970
Como e onde usa-los
Você pode usá-los em sistemas que envolvam cálculos com tempos ( VIP Temporario, Admin temporario etc ), Você poderia calcular manualmente a data do 'vencimento' dos 'produtos' do seu script, ou usar timestamp
Pegar o timestamp atual é muito simples, Basta usar a função getRealTime:
getRealTime().timestamp -- Pronto, você já tem o timestamp atual
Dica: você pode usar o primeiro parâmetro da função getRealTime junto com um timestamp para saber o dia, mes, hora etc exatos(as) do timestamp fornecido, veja os exemplos (↓).
Alguns cálculos uteis
1 Minuto (60 segundos) é 60 * 1 = 60
2 Minutos (120 segundos) is 60 * 2 = 120
1 Hora (60 minutos) é 60 * 60 = 3600
2 Horas (120 minutos) é 60 * 120 = 7200
1 Dia (24 horas) é 60 * 60 * 24 = 86400
2 Dias (48 horas) é 60 * 60 * 48 = 172800
1 Semana (7 dias) é 60 * 60 * 24 * 7 = 604800
2 Semana (14 dias) é 60 * 60 * 24 * 14 = 1209600
1 Mês (30 dias) é 60 * 60 * 24 * 30 = 2592000
2 Meses (60 dias) é 60 * 60 * 24 * 60 = 5184000
1 Ano (365 dias) é 60 * 60 * 24 * 365 = 31536000
2 Anos (730 dias) é 60 * 60 * 24 * 730 = 63072000
Exemplos Práticos
--Calcular o timestamp daqui x dias
function calcularDias ( thePlayer, cmd, dias )
if dias then
local dias = tonumber ( dias )
local calculo = getRealTime().timestamp + ( dias * 86400 )
outputChatBox ( "Timestamp daqui "..dias.." dias: "..calculo, thePlayer, 0, 255, 0 )
--[[
calculo = getRealTime().timestamp + ( dias * 86400 )
getRealTime().timestamp = pegamos o timestamp atual
+ = somamos com um valor fornecido ao lado →
dias = variavel que guarda o parâmetro fornecido pelo jogador ( /dias [DIAS] )
* 86400 = dividimos por 86400, que é um dia (24 horas)
--]]
else
outputChatBox ( "Forneça os dias !", thePlayer, 255, 0, 0 )
end
end
addCommandHandler ( "dias", calcularDias )
-- Descobrir data exata de um timestamp
function data ( thePlayer, cmd, timestamp )
if timestamp then
local timestamp = tonumber ( timestamp )
local realTime = getRealTime(timestamp)
local data = string.format ( "%02d/%02d/%d - %02d:%02d", realTime.monthday, realTime.month +1, realTime.year +1900, realTime.hour, realTime.minute )
outputChatBox ( "Data do timestamp "..timestamp..": "..data, thePlayer, 0, 255, 0 )
else
outputChatBox ( "Forneça um timestamp !", thePlayer, 255, 0, 0 )
end
end
addCommandHandler ( "data", data, false, false )
Finalização
Este é meu primeiro tutorial, Então ainda não sei bem como explicar de uma maneira clara, Lembrando que as explicações são bem lineares, feitas exatamente para quem não entende do assunto (todos eu presumo), Os códigos não foram testados então qualquer problema com ele, com escrita, ou qualquer parte deste tópico comente que vou arrumar o mais rápido possivel , Também falem oque acharam do tópico e dicas para melhorar.