Portal SAMP
[Ajuda] horário brasileiro - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] horário brasileiro (/showthread.php?tid=1606)



horário brasileiro - Cirilo_Samp - 05/09/2021

Ola tenho uma host no tcadmin mais a host fica no EUA tem algum include ou code que mostra horário do brasil? apos quando eu uso gettime mostra outra hora


RE: horário brasileiro - SrBlue - 05/09/2021

boa noite/tarde/dia.

cara acho que tens função nativa para converter horario...
porem tenta usar essa include, só fazer diferença do horario brasileiro e da vps
*https://github.com/whydlr/gmtime

porem tem um jeito mais pratico, usando request, capturando de uma api e passando para var...
* https://github.com/Southclaws/pawn-requests
(( porem a maioria das api é paga :x ))


RE: horário brasileiro - xbruno1000x - 06/09/2021

Apenas subtraia ou adicione o valor complementar para chegar no horário de brasilia.


RE: horário brasileiro - Um cara ai - 07/09/2021

Hospede em alguma host website
Código:
<?php
date_default_timezone_set("America/Sao_Paulo");
echo date('H i s');
?>

Coloque em sua gamode e use GetRealTime(hour, minute, second);
Código:
#include <a_samp>

// --- Index para HTTP ---
#define REAL_TIME (999)

public OnGameModeInit()
{
    HTTP(REAL_TIME, HTTP_GET, "www.seulink.com/index.php", "", "OnWebServerResponse");
    return 1;
}

forward OnWebServerResponse(index, response_code, data[]);
public OnWebServerResponse(index, response_code, data[])
{
    if(response_code != 200) return 0;
    switch(index)
    {
        case REAL_TIME:
        {
            new hour, minute, second;
            if(!sscanf(data, "iii", hour, minute, second))
            {
                new hora, minuto, segundo;
                gettime(hora, minuto, segundo);
                SetSVarInt("Time:H", subtrair(hour, hora));
                SetSVarInt("Time:M", subtrair(minute, minuto));
                SetSVarInt("Time:S", subtrair(second, segundo));
            }
        }
        default: return 0;
    }
    return 1;
}

stock subtrair(valor1, valor2)
{
    if(valor1 > valor2) return (valor1 - valor2);
    return (valor2 - valor1);
}

stock GetRealTime(hour = 0, minute = 0, second = 0)
{
    new hora, minuto, segundo;
    gettime(hora, minuto, segundo);
    hour = subtrair(hora, GetSVarInt("Time:H"));
    minute = subtrair(minuto, GetSVarInt("Time:M"));
    second = subtrair(segundo, GetSVarInt("Time:S"));
}