Ecco una funzione che farà per voi precisione (con arrotondamento, non tagliare):
function getTimestamp()
{
$microtime = floatval(substr((string)microtime(), 1, 8));
$rounded = round($microtime, 3);
return date("Y-m-d H:i:s") . substr((string)$rounded, 1, strlen($rounded));
}
fornire i chiarimenti nazione:
microtime() restituisce 2 numeri come 1 stringa, delimitata da uno spazio. il secondo numero è il numero di secondi dall'epoca unix, e il primo numero è il numero di microsecondi dal secondo numero. Fondamentalmente, il primo numero è la quantità di microsecondi espressi in un formato di precisione 8 (0,00000000) e gli 0s finali non vengono mai interrotti.
Si arrotonda questo valore a una precisione di 3 (0,00) e si taglia lo 0 iniziale e si aggiunge al timestamp effettivo.
Per qualche motivo il php doc per u, microsecondi, non sembra essere effettivamente supportato. Ottengo 0.000 ogni volta quando si utilizza quel metodo. Così ho fatto ricorso a microtime() come soluzione di backup.
Grazie amico ... ottimo lavoro. sei il migliore, perché iam cercando una settimana in internet non ha soluzione. – Smith
Ciao westie ho avuto ancora problemi l'ora HOUR era 2 ore più veloce ... esempio 22: 07: 45.434 un'ORA dovrebbe essere 20. – Smith
Questo è un problema con il vostro server - sarà necessario impostare il fuso orario. – Westie