Saltar al contenido

Obtener la marca de tiempo actual con milisegundos

Contamos con tu ayuda para difundir nuestros tutoriales referente a las ciencias de la computación.

Solución:

Puede imprimir menos dígitos porque es un valor flotante. Así que si consigues 1234.0005, que `.0005 en realidad significa 500 microsegundos. Los ceros después del 5 se pierden porque todavía es un valor flotante sin formato.

La función microtime se basa en la llamada al sistema gettimeofday(), que tampoco es precisa al microsegundo. Por lo general, tiene una precisión de 10 microsegundos. Consulte también Linux: se garantiza que gettimeofday () tendrá una resolución de microsegundos.

-editar- Veo que las especificaciones en su pregunta han cambiado de microsegundos a milisegundos.

Para obtener el valor flotante que tiene como un número entero, puede multiplicar por un valor. El valor flotante representa segundos. Multiplique por 1000 para obtener milisegundos o 1,000,000 para obtener microsegundos. Dado que las especificaciones (ahora) dicen milisegundos, debe multiplicar por 1000. 10k le dará una precisión de 1 / 10ms = 100μs. Un milisegundo es una milésima de segundo. Un microsegundo es una millonésima de segundo.

En pocas palabras, para obtener el tiempo en milisegundos enteros, use esto:

$milliseconds = intval(microtime(true) * 1000);

Nota: hay una razón por la que obtiene el tiempo como string o un flotador por defecto. La razón es que en sistemas de 32 bits, el número entero de PHP también es de 32 bits y no es lo suficientemente grande para contener la marca de tiempo, incluidos milisegundos y microsegundos. Por lo tanto, esta solución solo funcionará bien en un sistema de 64 bits.

valoraciones y comentarios

Acuérdate de que te brindamos la opción de reseñar si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *