¿Qué es la época de Unix y cuándo fue la época de Unix?

¿Qué es la época de Unix y cuándo fue la época de Unix?

¿Por qué Unix tiene su propio concepto de tiempo? ¿Cuál es la época y cuál es el problema de Y2038?

La hora Unix es un medio para representar una fecha y hora específicas, utilizada por Linux, macOS y muchos otros sistemas interoperables. Está tan extendido que probablemente lo estés usando sin darte cuenta. Sin embargo, una vez que comprenda el tiempo de Unix, lo detectará en muchos contextos. Varias herramientas pueden ayudarlo a trabajar con tiempo Unix.

¿Cuál es el propósito de Unix Time?

El tiempo Unix es un recuento de segundos totales desde una fecha y hora fija. Es un formato de fecha / hora (o marca de tiempo) que se ve diferente de las fechas y horas legibles por humanos a las que estamos acostumbrados. Esto es puramente por razones de eficiencia. Se necesita mucho menos espacio para almacenar un solo número que representa segundos que para almacenar valores separados para el año, mes, hora, etc.

Por supuesto, en términos modernos, la diferencia de espacio no es tanta. Pero considere que Unix se originó a fines de la década de 1960 cuando el almacenamiento disponible era mucho más pequeño. Las marcas de tiempo también se usan mucho, por lo que su almacenamiento se acumula. Por ejemplo, cada archivo tiene tres marcas de tiempo asociadas.

El formato es prácticamente imposible de traducir en tu cabeza a menos que seas un genio matemático. Pero todavía tiene algunas ventajas sobre las alternativas más legibles, como el miércoles 21 de octubre de 2015 a las 07:28:00 GMT . Puede solicitar dos marcas de tiempo de Unix muy fácilmente, de un vistazo. También suele ser más rápido calcular la diferencia entre dos marcas de tiempo. Esto es particularmente cierto para fechas cercanas, como en días adyacentes.

¿Qué es la época de Unix y cuándo fue la época de Unix?

Sobre la Época

Entonces, el tiempo de Unix es un recuento total de segundos desde un punto específico en el tiempo. Pero, ¿cuál es ese momento en el tiempo? Son las 00:00:00 UTC del 1 de enero de 1970 . Esto a menudo se conoce como la época de Unix. Los programadores eligieron esta fecha para la época por conveniencia, ya que era la fecha más cercana cuando inventaron la hora Unix.

Es posible que haya visto esta fecha cuando algo salió mal. Claramente es un error, pero se ve muy extraño cuando resulta en una fecha anterior a la época en que muchos de nosotros nacimos. Sin embargo, es completamente comprensible cuando conoces la época de Unix. Si algún sistema está intentando mostrar una marca de tiempo que no tiene ningún valor, a menudo se traducirá a 0 y dará como resultado la fecha de época exacta.

El formato de datos de tiempo de Unix

Estrictamente hablando, no hay ninguno. El tipo de datos original era un entero de 32 bits y, a menudo, este sigue siendo el caso, incluso en sistemas mucho más potentes.

Este tipo de datos permite que el valor almacene un total de 2 ^ 32 segundos, que es un poco más de 136 años. Este valor suele estar firmado, lo que significa que puede ser negativo o positivo. Por lo tanto, generalmente representa 68 años a cada lado de la época, es decir, 1902-2038.

Este es todavía un período limitado, por supuesto. Pero el uso principal del formato de marca de tiempo fue para conceptos como la modificación de archivos. La necesidad era mucho de representar el tiempo cercano al presente, en lugar de la historia antigua o en el futuro lejano. Incluso para aplicaciones como calendarios, rara vez es necesario representar fechas de más de unas pocas décadas en el futuro.

Pero eso no significa que este período de tiempo limitado no tenga problemas ...

El problema del año 2038

El error Y2K ( uno de los peores errores de programación de la historia ) afectó a los sistemas informáticos que almacenaban años como valores de dos dígitos. Cuando llegó el año 2000, tales sistemas lo trataron como si fuera 1900. En realidad, esto no fue tan catastrófico como se temía, principalmente porque muchas personas dedicaron mucho tiempo y esfuerzo a prepararse para ello.

Si prestaste atención en la sección anterior, es posible que hayas detectado un problema similar que podría afectar la hora de Unix. Bueno, la hora de Unix tiene un problema de datos propio: el problema Y2k38. (A menudo se lo denomina un problema, no un error; ¡quizás nos hemos vuelto más optimistas desde el año 2000!) Cuando el tiempo de Unix literalmente se agote en 2038, los sistemas tratarán las nuevas fechas como 1902 o 1970. O posiblemente ' Simplemente fallaré por completo.

Al menos este problema no nos golpeará al filo de la medianoche de la víspera de Año Nuevo. El último segundo del tiempo Unix de 32 bits caerá el 19 de marzo. En la eventualidad, es probable que actualice la mayoría de los sistemas para 2038 o estarán obsoletos de todos modos.

Algunos recursos útiles sobre marcas de tiempo

El sitio de Epoch Converter es posiblemente el conversor de marcas de tiempo más completo disponible. Comienza mostrando la hora actual de Unix, en tiempo real, y agrega casi todas las funciones imaginables además de eso. Su uso principal es la conversión entre marcas de tiempo y fechas legibles por humanos, en ambas direcciones.

Dan's Tools es una gran colección de aplicaciones web útiles, una de las cuales es un convertidor de marca de tiempo . Es más básico, pero tiene una presentación muy limpia y es fácil de usar.

Time.is presenta otro look aún más minimalista. Muestra la hora en varios formatos, incluida la hora Unix. Incluye la hora actual en el título de su página, lo cual es útil.

¿Qué es la época de Unix y cuándo fue la época de Unix?

Uso de Unix Time con herramientas de línea de comandos

En Linux y macOS, el programa de fecha es la utilidad principal para lidiar con la fecha / hora, incluidas las marcas de tiempo de Unix. Llamado sin ningún argumento, devuelve la fecha / hora actual en un formato legible por humanos:

$ date Wed Feb 10 12:28:30 GMT 2021

Si necesita la fecha / hora actual en tiempo Unix, use el argumento +% s :

$ date +%s 1612960114

Puede convertir una fecha legible por humanos en una marca de tiempo usando el indicador -d si su versión de la fecha lo admite. La mayoría de las versiones de Linux deberían, de forma predeterminada:

$ date -d "Jan 2 1970" +%s 82800

En macOS, date es un programa diferente, que requiere un conjunto diferente de indicadores:

$ date -j -f "%b %d %Y %T" "Jan 02 1970 00:00:00" "+%s" 82800

Yendo en la otra dirección, puede convertir desde una marca de tiempo Unix usando la bandera -r :

$ date -r 1600000000 Sun 13 Sep 2020 13:26:40 BST

Algunos otros programas usan el formato % s para manejar la hora Unix. Por ejemplo, si desea mostrar la fecha de modificación de un archivo en tiempo Unix, con la versión de Linux de ls , puede usar lo siguiente:

$ ls -l --time-style=+%s index.tmp.html -rw-r--r-- 1 ubuntu ubuntu 17862 1521649818 index.tmp.html

Cómo usar Unix Time en lenguajes de programación

PHP tiene la función  time () que devuelve la marca de tiempo actual de Unix. Su función date () toma una marca de tiempo como segundo argumento:

$ php -r 'echo date("Y-m-d", time());' 2021-02-11

JavaScript se acerca a las cosas de una manera interesante. Tiene un método Date.now () para obtener el número de milisegundos desde la época de Unix. Por supuesto, puede dividir esto por 1,000 y redondear el resultado para obtener el tiempo Unix equivalente en segundos:

> Math.floor(Date.now() / 1000) 1613083012

Entendiendo la hora de Unix

El tiempo Unix es un concepto simple que surge en muchos lugares. Una vez que lo entienda, puede que le resulte bastante útil, por ejemplo, al calcular las diferencias horarias. También puede reconocer cuándo puede ser la causa de ciertos errores.

Conceptos como la época y las marcas de tiempo son una parte importante para comenzar con Linux. Para obtener más información sobre elementos esenciales como ls , consulte nuestra guía de comandos básicos de Linux.


Cómo copiar y pegar en Chromebook

Cómo copiar y pegar en Chromebook

Lo primero que podría preguntarse al cambiar a un Chromebook es cómo hacer las cosas básicas, el tipo de cosas que tenía en la palma de su mano en su sistema operativo anterior. Copiar y pegar es una de esas funciones fundamentales que debe utilizar en un momento u otro.

Cómo realizar una prueba de mecanografía en Linux con tt

Cómo realizar una prueba de mecanografía en Linux con tt

En la era moderna de la tecnología, mecanografiar se ha convertido en una de las actividades más comunes para muchas profesiones. Aprender a escribir más rápido con precisión puede ayudarlo a hacer más cosas en la misma cantidad de tiempo.

¿Wi-Fi no funciona en Ubuntu? He aquí cómo solucionarlo

¿Wi-Fi no funciona en Ubuntu? He aquí cómo solucionarlo

Ubuntu es popular por su robustez y relativamente menos errores. Pero no está exento de problemas, seguro. Uno de esos problemas es con su controlador de Wi-Fi. Puede encender su sistema solo para descubrir que su Wi-Fi no funciona.

Cómo crear y escanear códigos QR en Chromebook

Cómo crear y escanear códigos QR en Chromebook

Los códigos de respuesta rápida, o códigos QR para abreviar, son códigos de barras avanzados que contienen más información que un código de barras tradicional. Estos códigos son bidimensionales, lo que le permite escanearlos vertical u horizontalmente.

Cómo instalar y eliminar paquetes en Arch Linux

Cómo instalar y eliminar paquetes en Arch Linux

¿Quiere instalar paquetes en Arch Linux pero no sabe cómo? Mucha gente se enfrenta a este problema cuando migra por primera vez de distribuciones basadas en Debian a Arch. Sin embargo, puede administrar fácilmente paquetes en su sistema basado en Arch utilizando administradores de paquetes.

El mejor editor de video gratuito para Ubuntu en 2020

El mejor editor de video gratuito para Ubuntu en 2020

Salvo toda la pelusa, aquí hay una lista de los mejores editores de video gratuitos para Ubuntu que puede usar para crear videos impresionantes.

Cómo instalar Spotify en Linux

Cómo instalar Spotify en Linux

Spotify es uno de los mayores servicios de transmisión de música que existen. Tiene clientes nativos para dispositivos móviles (Android e iOS) y de escritorio (Mac y Windows).

Los 15 mejores temas para Ubuntu 20.04 en 2020

Los 15 mejores temas para Ubuntu 20.04 en 2020

Una gran cantidad de nuevos temas actualizados están listos para instalarse en el nuevo escritorio GNOME de Ubuntu 20.04. Aquí hay una lista de los mejores temas de ubuntu en 2020

9 comandos básicos para comenzar con Linux

9 comandos básicos para comenzar con Linux

Las guías prácticas de Linux a menudo esperan que realice ciertas operaciones en la terminal, lo que puede parecer intimidante al principio. Pero no se preocupe; esta hoja de trucos de comandos de Linux cubrirá el proceso de abrir una terminal y emitir algunos comandos útiles.

Cómo mover archivos de Linux con el comando Mv

Cómo mover archivos de Linux con el comando Mv

Si bien es probable que ya sepa cómo mover un archivo en Linux usando el navegador de archivos GUI, es posible que se pregunte si hay un comando de movimiento en la terminal que le permita mover archivos rápidamente a diferentes directorios. El comando mv es el que desea y es fácil de usar con su sintaxis simple y algunos indicadores de seguridad opcionales.