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


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 exibe a data como em branco. Eu pensei que o NTFS poderia voltar para os anos 1600 em algum momento. O que está acontecendo?


1


origem


@ Ed: O que o dir show de comando para a data? - grawity
dir / tc mostra a data correta - Ed Burdick
By the way, o Photoshop Bridge também mostra a data correta. - Ed Burdick


Respostas:


Análise rápida

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

O formato de data do MS-DOS pode representar apenas datas entre 1/1/1980 e 31/12/2107.

Fonte: Função FileTimeToDosDateTime

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

Screenshot 1

Minha suposição é que esse comportamento está relacionado à compatibilidade com versões anteriores. Quando NTFS não existiam, as datas criadas, modificadas e de acesso foram projetadas para levar 16 bits cada (2 bytes). A informação fica empacotada 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 valores possíveis, isto é, 1980-2107.

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

UMA hora do arquivo é um valor de 64 bits que representa o número de intervalos de 100 nanossegundos que se passaram desde 12:00. 1 de janeiro de 1601 Tempo Universal Coordenado (UTC). O sistema registra tempos de arquivo quando os aplicativos criam, acessam e gravam em arquivos.

O sistema de arquivos NTFS armazena valores de tempo no formato UTC, portanto, eles não são afetados por alterações no fuso horário ou no horário de verão. O sistema de arquivos FAT armazena valores de tempo com base na hora local do computador.

Fonte: Tempos de Arquivo

Leitura adicional


Solução alternativa

Em certos casos, você pode ignorar esse problema por meio de EXIF Tag:

Screenshot 2

O diálogo de propriedades do arquivo pode exibir qualquer data suportada pelo sistema de arquivos subjacente:

Screenshot 3

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

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 7-Zip também pode não ser afetado:

Screenshot 4


1