Obter data/hora de um servidor NTP - PHP

É possível obter a data e hora de um servidor NTP (Network Time Protocol) utilizando PHP. Segue um exemplo:
$socket = fsockopen('udp://pool.ntp.br', 123, $err_no, $err_str, 1);
if ($socket)
{
    if (fwrite($socket, chr(bindec('00'.sprintf('%03d', decbin(3)).'011')).str_repeat(chr(0x0), 39).pack('N', time()).pack("N", 0)))
    {
        stream_set_timeout($socket, 1);
        $unpack0 = unpack("N12", fread($socket, 48));
        echo date('Y-m-d H:i:s', $unpack0[7]);
    }

    fclose($socket);
}
Para obter uma hora com maior precisão, veja o código original.

Nenhum comentário on "Obter data/hora de um servidor NTP - PHP"

Leave a Reply