Não é apenas NTFS; O timekeeping interno do Windows é feito usando o mesmo formato de hora e com o mesmo início de época.
Eles sabiam que queriam um valor de tempo binário de 64 bits, porque o valor original de 32 bits do Unix já era conhecido como um beco sem saída (esses contadores serão encerrados em 2038) e os valores de tempo de 64 bits já foram usados em VMS. 64 bits dá a capacidade de calcular cerca de 18 bilhões de bilhões de valores de tempo diferentes. Bem, na verdade, apenas 9 bilhões de bilhões, porque os valores de tempo com o conjunto de bits alto têm um significado diferente no Windows (como acontece no VMS). Então, nós realmente temos "apenas" 63 bits para contar a data e a hora do dia.
Considerando que o tempo Unix de 32 bits contava apenas segundos, os timestamps do Windows contavam em incrementos de 100 nanossegundos. Então, um valor de tempo de 1 significa 100 ns após a meia-noite de 1 de janeiro de 1601.
Mas por que escolher uma data tão "histórica"?
Bem, um deles faz com que o dia da semana e os cálculos semelhantes sejam um pouco mais fáceis, já que foi o primeiro ano do primeiro ciclo de 400 anos que incluiu computadores eletrônicos de qualquer tipo. Existe algum suporte muito autoritário por esse motivo.
No entanto, tenho que opinar que no contexto da computação moderna, a capacidade computacional adicional necessária para lidar com um ano inicial diferente seria bem pequena no contexto.
1º de janeiro de 1601 também é a data a partir da qual as datas do ANSI são contadas. Portanto, a "data do Windows" é o mesmo número de dia da "data ANSI", o que torna as coisas um pouco mais fáceis em vários lugares.
Também foi padronizado como "ano 1" do calendário gregoriano (mesmo que o calendário não tenha sido adotado em todos os lugares naquele momento).
Por um motivo de trabalho prático, no entanto, considere: Este formato data / hora permite que data / hora históricas sejam representadas em, e. bases de dados ao lado dos atuais, usando o mesmo formato. Uma base de dados genealógica, por exemplo, pode armazenar as datas de nascimento e morte de seus antepassados com mais de 400 anos, o que é muito mais longo do que a maioria desses registros existe de forma confiável.
Não haveria razão para estender isso antes, começando no ano de 1201 ou até mesmo em 1, por causa da transição do calendário juliano-gregoriano que começou em alguns países em 1582 e continuou até 1926, dependendo de em que país você estava. Todas as datas gravadas no formato de horário ANSI e, por extensão, no formato de horário "binário" do Windows são consideradas como calendário gregoriano.btw, o VMS usa um esquema similar, mas seu tempo base é 17 de novembro de 1858. Esse foi um padrão escolhido pelo Smithsonian Astrophysical Observatory como uma "data base" para o rastreamento por satélite; isso foi relacionado ao uso anterior dos astrônomos do esquema original do Dia Juliano, que conta dias desde o meio-dia, 1º de janeiro de 4713 a.C. Neste esquema, 17 de novembro de 1858 sai para o Dia Juliano Modificado número 2.400.000. Ao usar o MJD em vez do JD, eles conseguiram encaixar datas contemporâneas em apenas 18 bits, o que foi um feito importante na época. Veja este artigo da VMS Engineering para detalhes.