Análisis rápido

Análisis rápido

Quiero establecer la fecha de creación de algunas imágenes escaneadas antiguas en una fecha de 1970. Si lo hago usando una herramienta de terceros, el Explorador de Windows muestra la fecha en blanco. Pensé que NTFS podría remontarse al siglo XVII en algún momento. ¿Qué está pasando?

Respuesta1

Análisis rápido

Al explorar carpetas, el Explorador de Windows no mostrará fechas fuera de un rango específico:

El formato de fecha de MS-DOS sólo puede representar fechas entre el 1/1/1980 y el 31/12/2107.

Fuente:Función FileTimeToDosDateTime

Esto se puede confirmar configurando manualmente la fecha:

Captura de pantalla 1

Mi suposición es que este comportamiento está relacionado con la compatibilidad con versiones anteriores. CuandoNTFSno existía, las fechas de creación, modificación y acceso fueron diseñadas para ocupar 16 bits cada una (2 bytes). La información se empaqueta así:

Bits | Description
-------------------------------------------------------
0–4  | Day (1-31)
5–8  | Month (1 = January, 2 = February, etc.)
9-15 | Year offset from 1980 (0 = 1980, 1 = 1981, etc.)

Para ahorrar bits, el año no se almacena como un número entero; en su lugar se utiliza un desplazamiento. Como hay 7 bits, eso significa 2^7 = 128valores posibles, es decir, 1980-2107.

En cuanto a NTFS, esto es lo que dice la documentación:

Atiempo de archivoes un valor de 64 bits que representa el número de intervalos de 100 nanosegundos que han transcurrido desde las 00:00 a. m. del 1 de enero de 1601, hora universal coordinada (UTC). El sistema registra los tiempos de los archivos cuando las aplicaciones crean, acceden y escriben en archivos.

El sistema de archivos NTFS almacena los valores de hora en formato UTC, por lo que no se ven afectados por los cambios de zona horaria o el horario de verano. El sistema de archivos FAT almacena valores de tiempo basados ​​en la hora local de la computadora.

Fuente:Tiempos de archivo

Otras lecturas


Solución alterna

En ciertos casos, es posible que pueda evitar este problema a través deEXIFetiquetas:

Captura de pantalla 2

El cuadro de diálogo de propiedades del archivo puede mostrar cualquier fecha admitida por el sistema de archivos subyacente:

Captura de pantalla 3

Lo mismo ocurre con la interfaz de línea de comandos cuando se utiliza el dircomando:

01/01/1601  02:23 AM                 0 1-oldest.txt
01/01/1970  02:23 AM                 0 2-older.txt
01/01/1980  02:23 AM                 0 3-old.txt
01/01/2014  02:23 AM                 0 4-current.txt
01/01/2107  02:23 AM                 0 5-new.txt
01/01/9999  02:23 AM                 0 6-newer.txt

Programas de terceros como7 cremallerasTambién podría no verse afectado:

Captura de pantalla 4

información relacionada