Marca de tiempo
Una marca de tiempo es una fecha y hora específicas «marcadas» en un registro o archivo digital. Aunque se usa principalmente como sustantivo, la palabra «marca de tiempo» también puede funcionar como verbo. Por ejemplo: «El tuit recibió una marca de tiempo el 8 de enero de 2021 a las 10:44 a. m.».
Las marcas de tiempo son la forma estándar de almacenar fechas y horas en los sistemas informáticos. Por ejemplo, los sistemas operativos asignan una marca de tiempo a cada archivo con la fecha y hora de creación y modificación. Las cámaras digitales asignan una marca de tiempo a cada foto capturada. Las plataformas de redes sociales almacenan una marca de tiempo con cada publicación, como en el ejemplo de Twitter anterior.
Aunque las marcas de tiempo son universales, no existe un formato de marca de tiempo universal. Por ejemplo, un lenguaje de programación puede usar un método, mientras que una base de datos puede usar otro. Incluso los sistemas operativos tienen distintas formas de almacenar marcas de tiempo. Por ejemplo, Windows usa el estándar ANSI y almacena las marcas de tiempo como el número de segundos transcurridos desde el 1 de enero de 1601. Unix almacena las marcas de tiempo como el número de segundos transcurridos desde la medianoche del 1 de enero de 1970. Debido a que existen varios formatos de marca de tiempo diferentes, la mayoría de los lenguajes de programación modernos tienen funciones integradas para convertir marcas de tiempo.
Almacenar una marca de tiempo como un entero es eficiente, ya que requiere un espacio de almacenamiento mínimo. Sin embargo, el número debe convertirse a un formato de hora legible cuando se muestra. MySQL tiene un tipo de datos TIMESTAMP, que almacena cómodamente las marcas de tiempo en el siguiente formato:
AAAA-MM-DD HH:MM:SS
MySQL almacena las marcas de tiempo en UTC, que se basa en la hora de Inglaterra. Por lo tanto, el 16 de enero de 2021 a las 10:15:30 a. m., hora central de Estados Unidos, se almacenaría en una base de datos MySQL de la siguiente manera:
2021-01-16 16:15:30
Si se convierte a una marca de tiempo en Linux, esta fecha y hora se representaría así:
1610813730
Las marcas de tiempo también tienen distintas resoluciones o niveles de precisión. En algunos casos, los segundos son suficientes, mientras que en otros se requieren milisegundos o incluso nanosegundos. La marca de tiempo de Linux anterior sería 1610813730000 en milisegundos, lo que proporciona una resolución de una milésima de segundo. Las operaciones informáticas pueden requerir marcas de tiempo con una resolución aún mayor. PHP incluye una función microtime() que genera una marca de tiempo en microsegundos, con una resolución de una millonésima de segundo.
Pon a prueba tu conocimiento