Die Funktion holt sich die aktuelle Atomzeit direkt von einem NIST Zeitserver. Wenn der Server gerade nicht antwortet, gibt die Funktion einfach null zurück, damit dein Skript nicht auf die Nase fällt.
<?php
function getAtomicTime() {
$server = "time.nist.gov";
$port = 37;
$fp = @fsockopen($server, $port, $errno, $errstr, 3);
if (!$fp) {
return null;
}
$data = fread($fp, 4);
fclose($fp);
if (strlen($data) !== 4) {
return null;
}
$timestamp = unpack("N", $data)[1];
$unixTime = $timestamp - 2208988800;
return date("Y-m-d H:i:s", $unixTime);
}
echo getAtomicTime()

