stringtranslate.com

Época (informática)

En informática, una época es una fecha y hora fijas que se utilizan como referencia a partir de la cual una computadora mide el tiempo del sistema . La mayoría de los sistemas informáticos determinan el tiempo como un número que representa los segundos eliminados de una fecha y hora arbitrarias particulares. Por ejemplo, Unix y POSIX miden el tiempo como el número de segundos que han pasado desde el jueves 1 de enero de 1970 a las 00:00:00 UT , un momento conocido como la época Unix . Los sistemas Windows NT , hasta Windows 11 y Windows Server 2022 inclusive, miden el tiempo como el número de intervalos de 100 nanosegundos que han transcurrido desde el 1 de enero de 1601 a las 00:00:00 UTC, lo que convierte ese momento en la época de esos sistemas. [1] Las épocas informáticas casi siempre se especifican como medianoche, hora universal , en alguna fecha en particular.

Resolución y representación

Los sistemas de cronometraje de software varían ampliamente en la resolución de la medición del tiempo; Algunos sistemas pueden utilizar unidades de tiempo tan grandes como un día, mientras que otros pueden utilizar nanosegundos . Por ejemplo, para una fecha de época de medianoche UTC (00:00) del 1 de enero de 1900, y una unidad de tiempo de un segundo, la hora de la medianoche (24:00) entre el 1 de enero de 1900 y el 2 de enero de 1900 está representada por número 86400, el número de segundos en un día. Cuando es necesario representar épocas anteriores a la época, es común utilizar el mismo sistema, pero con números negativos.

Esta representación del tiempo es principalmente para uso interno. En sistemas donde la fecha y la hora son importantes en el sentido humano, el software casi siempre convertirá este número interno en una fecha y hora que represente un calendario humano.

Problemas

Las computadoras generalmente no almacenan números arbitrariamente grandes. En cambio, a cada número almacenado por una computadora se le asigna una cantidad fija de espacio. Por lo tanto, cuando el número de unidades de tiempo que han transcurrido desde la época de un sistema excede el mayor número que puede caber en el espacio asignado a la representación del tiempo, la representación del tiempo se desborda y pueden ocurrir problemas. Si bien el comportamiento de un sistema después de que se produce un desbordamiento no es necesariamente predecible, en la mayoría de los sistemas el número que representa la hora se restablecerá a cero y el sistema informático pensará que la hora actual es nuevamente la época.

Lo más famoso es que los sistemas más antiguos que contaban el tiempo como el número de años transcurridos desde la época del 1 de enero de 1900 y que sólo asignaban espacio suficiente para almacenar los números del 0 al 99, experimentaron el problema del año 2000 . Estos sistemas (si no se corrigen de antemano) interpretarían la fecha del 1 de enero de 2000 como el 1 de enero de 1900, lo que daría lugar a errores impredecibles a principios del año 2000.

Incluso los sistemas que asignan más almacenamiento a la representación del tiempo no son inmunes a este tipo de error. Muchos sistemas operativos tipo Unix que mantienen el tiempo en segundos transcurridos desde la fecha de época del 1 de enero de 1970 y asignan suficiente almacenamiento para almacenar números tan grandes como 2 147 483 647 experimentarán un problema de desbordamiento el 19 de enero de 2038. Esto se conoce como El problema del año 2038 .

En la informática existen otros problemas de cronometraje más sutiles, como la contabilidad de los segundos intercalares , que no se observan con ninguna previsibilidad o regularidad. Además, las aplicaciones que necesitan representar fechas y horas históricas (por ejemplo, representar una fecha anterior al cambio del calendario juliano al calendario gregoriano ) deben utilizar bibliotecas de cronometraje especializadas .

Finalmente, algún software debe mantener la compatibilidad con software más antiguo que no mantiene el tiempo estrictamente de acuerdo con los sistemas tradicionales de cronometraje. Por ejemplo, Microsoft Excel observa la fecha ficticia del 29 de febrero de 1900 para mantener la compatibilidad de errores con versiones anteriores de Lotus 1-2-3 . [2] Lotus 1-2-3 observó la fecha debido a un error; cuando se descubrió el error, ya era demasiado tarde para solucionarlo: "un cambio ahora alteraría las fórmulas que se escribieron para adaptarse a esta anomalía". [3]

En sistemas de tiempo basados ​​en satélites

Hay al menos seis sistemas de navegación por satélite , todos los cuales funcionan transmitiendo señales horarias . De los dos únicos sistemas satelitales con cobertura global, el GPS calcula su señal horaria a partir de una época, mientras que GLONASS calcula el tiempo como un desplazamiento de UTC , con la entrada UTC ajustada para los segundos intercalares . De los otros dos únicos sistemas que apuntan a una cobertura global, Galileo calcula a partir de una época y BeiDou calcula a partir de UTC sin ajuste por segundos intercalares. [4] [¿ necesita actualización? ] El GPS también transmite la diferencia entre la hora UTC y la hora GPS y debe actualizar esta diferencia cada vez que hay un segundo intercalar , lo que requiere que los dispositivos receptores de GPS manejen la actualización correctamente. Por el contrario, los segundos intercalares son transparentes para los usuarios de GLONASS. Las complejidades de calcular UTC a partir de una época se explican en la documentación de Galileo de la Agencia Espacial Europea en "Ecuaciones para corregir la escala de tiempo del sistema a la escala de tiempo de referencia". [5]

Fechas de época notables en la informática

La siguiente tabla enumera las fechas de época utilizadas por software popular y otros sistemas relacionados con la computadora. El tiempo en estos sistemas se almacena como la cantidad de una unidad de tiempo particular (días, segundos, nanosegundos, etc.) que ha transcurrido desde una hora determinada (normalmente la medianoche UTC al comienzo de la fecha determinada).

Ver también

Notas

  1. ^ ab Calendario gregoriano proléptico.
  2. ^ AmigaOS mide el tiempo en segundos y lo almacena en un entero de 32 bits con signo. Después del 19 de enero de 2046 a las 03:14:07 la fecha será negativa. La última versión del sistema operativo 4.1 (2016) no tiene solución para esto.
  3. ^ Tenga en cuenta que la función Época devuelve la Época de Unix SELECT EXTRACT(EPOCH FROM TIMESTAMP CON TIME ZONE '1970-01-01 00:00:00-00'); devuelve 0.

Referencias

  1. ^ "[MS-DTYP]: TIEMPO DE ARCHIVO". Documentos de Microsoft . 2020-03-30.
  2. ^ abc Spolsky, Joel (19 de febrero de 2008). "¿Por qué los formatos de archivo de Microsoft Office son tan complicados? (Y algunas soluciones)" . Consultado el 8 de marzo de 2009 .
  3. ^ Dershowitz, Nachum ; Reingold, Eduardo (2008). Cálculos calendáricos (3 ed.). Prensa de la Universidad de Cambridge . págs. xxi, xxvi. ISBN 978-0-521-70238-6.
  4. ^ Subirana, J. Sanz; Zornoza, JM Juan; Hernández-Pajares, M. (2011). "Referencias horarias en GNSS". gssc.esa.int/navipedia . Agencia Espacial Europea.
  5. ^ "Descripción de la escala de tiempo GNSS Galileo" (PDF) . Oficina de las Naciones Unidas para Asuntos del Espacio Ultraterrestre. 2016. Sección 5d.
  6. ^ "datenum", MathWorks, consultado el 7 de julio de 2015.
  7. ^ "Clase de calendario gregoriano". MSDN . Observaciones . Consultado el 26 de abril de 2015 .
  8. ^ "Estructura DateTimeOffset" (.NET Framework 4.5), MSDN , 2015.
  9. ^ "Tiempo del paquete". golang.org . Consultado el 26 de abril de 2015 .
  10. ^ "Fecha: referencia de z/OS TSO/E REXX". IBM.com . IBM. 2014. SA32-0972-00.
  11. ^ Dershowitz, Nachum ; Reingold, Eduardo (2008). "El calendario gregoriano". Cálculos calendáricos (3 ed.). Prensa de la Universidad de Cambridge. ISBN 978-0-521-70238-6.
  12. ^ Cowlishaw, Mike Frederic (1990). El lenguaje Rexx: un enfoque práctico de la programación (2 ed.). Prentice Hall. págs.93, 177. ISBN 0-13-780651-5.
  13. ^ "Notas de la versión de Go 1: cambios importantes en la biblioteca: hora". golang.org. 28 de marzo de 2012 . Consultado el 26 de abril de 2015 .
  14. ^ "Formatos de fecha y hora". IBM.com . IBM . Consultado el 24 de enero de 2020 .
  15. ^ "CEEDATM: convertir segundos en marca de tiempo de caracteres". Referencia de programación del entorno de lenguaje z/OS . IBM . 2021-03-22.
  16. ^ Guía de programación COBOL para AIX versión 5.1 (PDF) (Primera edición). IBM . Junio ​​de 2015. CEEDATE: convierte la fecha de Lilian al formato de caracteres. SC27-5404-00.
  17. ^ Lixiviación, P.; Mealing, M.; Salz, R. (julio de 2005). "RFC 4122: Estándar propuesto: un espacio de nombres URN de identificador universalmente único (UUID)". herramientas.ietf.org . Grupo de Trabajo de Ingeniería de Internet.
  18. ^ ISO/IEC 1989:2014 - Tecnología de la información - Lenguajes de programación, sus entornos e interfaces de software del sistema - Lenguaje de programación COBOL. YO ASI . 2014-06-01. pag. 634.
  19. ^ ab Chen, Raymond (6 de marzo de 2009). "¿Por qué la época Win32 es el 1 de enero de 1601?". Lo viejo y nuevo . Blogs de MSDN.
  20. ^ "Estructura FILETIME (minwinbase.h)". Documentos de Microsoft .
  21. ^ "¿Qué pasó en 1841?". Preguntas frecuentes sobre tecnología M y lenguaje MUMPS, parte 1/2 . Archivado desde el original el 28 de agosto de 2015 . Consultado el 14 de agosto de 2015 .
  22. ^ Winkler, Gernot MR "Fecha juliana modificada". Observatorio Naval de Estados Unidos . Archivado desde el original el 14 de febrero de 2013 . Consultado el 29 de enero de 2015 .
  23. ^ "Origen del tiempo base de VMS". vms.tuwien.ac.at/info/humour . Universidad Técnica de Viena. Archivado desde el original el 6 de junio de 2007.
  24. ^ "Introducción a la API de Google Sheets". Desarrolladores de Google .
  25. ^ "Número del día internacional". ayuda.dyalog.com . Consultado el 27 de noviembre de 2018 .
  26. ^ "Gestión del tiempo". msdn.microsoft.com .
  27. ^ "¿Cuál es la historia detrás del 30 de diciembre de 1899 como fecha base?". social.msdn.microsoft.com .[ enlace muerto permanente ]
  28. ^ ab John Barnes . "7.3 Horas y fechas". Justificación de Ada 2005. Ada Resource Association.
  29. ^ "Fechas y horas en Excel". cpearson.com .
  30. ^ "MacTech: la revista de tecnología de Apple". mactech.com .
  31. ^ "Introducción a Fechas y Horas en SAS" (PDF) .
  32. ^ Mark Pick, Conferencia internacional sobre espectro, abril de 2010.
  33. ^ "time_t - Referencia de C++" . Consultado el 6 de abril de 2015 .
  34. ^ Barthel, Olaf (septiembre de 1998). "Expediente: El problema del año 2000 y el Amiga". amiga.de .
  35. ^ Levine, Judá (5 de julio de 2002). «Distribución horaria y frecuencial mediante satélites» (PDF) . Informes sobre los avances en física . 65 (8): 1119. Código bibliográfico : 2002RPPh...65.1119L. doi :10.1088/0034-4885/65/8/201 – a través del Instituto Nacional de Estándares y Tecnología (NIST).
  36. ^ "Sistemas de tiempo y fechas: hora GPS". Departamento de Oceanografía, NPS . Escuela de Postgrado Naval, Departamento de Oceanografía. Archivado desde el original el 2019-01-02 . Consultado el 18 de febrero de 2019 .
  37. ^ "FIT SDK: trabajo con valores de fecha y hora". garmin.com. 2023-01-01 . Consultado el 25 de febrero de 2023 .
  38. ^ "Transferencia de datos flexible e interoperable: protocolo FIT". garmin.com. 2019-03-01 . Consultado el 25 de febrero de 2023 .
  39. ^ "Nota del desarrollador sobre formatos AppleSingle/AppleDouble para archivos externos" (PDF) . Archivado desde el original (PDF) el 17 de julio de 2011 . Consultado el 23 de octubre de 2007 .
  40. ^ "Documentación de PostgreSQL 9.1.24. Capítulo 8: Tipos de datos. 8.5. Tipos de fecha/hora". PostgreSQL.org . 2016-10-27. Nota: Cuando los valores de marca de tiempo se almacenan como enteros de ocho bytes (actualmente el valor predeterminado), la precisión de microsegundos está disponible en todo el rango de valores. […] Los valores de marca de tiempo se almacenan como segundos antes o después de la medianoche del 2000-01-01.
  41. ^ "Especificación de la biblioteca del clúster ZigBee". Sección 2.5.2.21 Hora UTC.
  42. ^ NASA JPL [@NASAJPL] (4 de mayo de 2021). "La Fuerza es fuerte con este pequeño" (Tweet) - vía Twitter .
  43. ^ "NeoGPS/src/NeoTime.cpp en master · SlashDevin/NeoGPS". GitHub . Consultado el 5 de noviembre de 2023 .

enlaces externos