Qual é o intervalo de datas que o Windows Explorer pode exibir?

1

Eu quero definir a data de criação em algumas imagens digitalizadas antigas para uma data em 1970. Se eu fizer isso usando uma ferramenta de terceiros, o Windows Explorer exibirá a data como em branco. Eu pensei que o NTFS poderia voltar para os anos 1600 em algum momento. O que está acontecendo?

    
por Ed Burdick 14.08.2014 / 04:19

1 resposta

1

Análise rápida

Ao navegar pelas pastas, o Windows Explorer não exibe datas fora de um intervalo específico:

The MS-DOS date format can represent only dates between 1/1/1980 and 12/31/2107.

Source: FileTimeToDosDateTime function

Isso pode ser confirmado pela configuração manual da data:

Minhasuposiçãoéqueessecomportamentoestárelacionadoàcompatibilidadecomversõesanteriores.Quando NTFS não existia, as datas criadas, modificadas e de acesso foram projetadas para levar 16 bits cada (2 bytes) . A informação é colocada assim:

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 salvar bits, o ano não é armazenado como um número inteiro; um deslocamento é usado em vez disso. Como existem 7 bits, isso significa 2^7 = 128 de valores possíveis, ou seja, 1980-2107.

Quanto ao NTFS, isso é o que a documentação diz:

A file time is a 64-bit value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC). The system records file times when applications create, access, and write to files.

The NTFS file system stores time values in UTC format, so they are not affected by changes in time zone or daylight saving time. The FAT file system stores time values based on the local time of the computer.

Source: File Times

Leitura adicional

Solução alternativa

Em alguns casos, você pode ignorar esse problema por meio das tags EXIF :

Odiálogodepropriedadesdoarquivopodeexibirqualquerdatasuportadapelosistemadearquivossubjacente:

O mesmo acontece com a interface da linha de comandos ao usar o comando dir :

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 terceiros, como o 7-Zip , também podem não ser afetados:

    
por 15.08.2014 / 17:24