File.lastModified

This translation is incomplete. Please help translate this article from English

A propriedade read-only File.lastModified indica a ultima data em que o ficheiro foi modificado, na forma do numero de milissegundos desde o início da era Unix (1 de janeiro de 1970 às 00:00:00). Os ficheiros cuja a data da última modificação não é conhecida devolvem a data actual.

Sintaxe

const tempo = instanciaDeFicheiro.lastModified;

Valor

Um número que representa o número de milissegundos desde o início da época do Unix.

Exemplo

Leitura a partir da entrada do ficheiro

<input type="file" multiple id="entradaDeFicheiro">
const entradaDeFicheiro = document.querySelector('#entradaDeFicheiro');
entradaDeFicheiro.addEventListener('change', (event) => {
  // ficheiros é um objeto de FileList (semelhante a NodeList) 
  const ficheiros = event.target.files;

  for (let ficheiro of ficheiros) {
    const data = new Date(ficheiro.lastModified);
    console.log(`${ficheiro.name} tem uma última data modificada de ${data}`);
  }
});

Veja os resultados abaixo:

Ficheiros criados dinamicamente

Se um objeto File for criado dinamicamente, a última data modificada pode ser fornecida na função construtor new File(). Se estiver em falta, lastModified herda a hora actual de Date.now() no momento em que o objeto File é criado.

const ficheiroComData = new File([], 'file.bin', {
  lastModified: new Date(2017, 1, 1),
});
console.log(ficheiroComData.lastModified); //devolve 1485903600000

const ficheiroSemData = new File([], 'file.bin');
console.log(ficheiroSemData.lastModified); //devolve data atual em milissegundos

Reduced time precision

To offer protection against timing attacks and fingerprinting, the precision of someFile.lastModified might get rounded depending on browser settings.
In Firefox, the privacy.reduceTimerPrecision  preference is enabled by default and defaults to 20us in Firefox 59; in 60 it will be 2ms.

// reduced time precision (2ms) in Firefox 60
someFile.lastModified;
// 1519211809934
// 1519211810362
// 1519211811670
// ...


// reduced time precision with `privacy.resistFingerprinting` enabled
someFile.lastModified;
// 1519129853500
// 1519129858900
// 1519129864400
// ...

In Firefox, you can also enabled privacy.resistFingerprinting, the precision will be 100ms or the value of privacy.resistFingerprinting.reduceTimerPrecision.microseconds, whichever is larger.

Especificações

Especificação Estado Comentários
File API
The definition of 'lastModified' in that specification.
Working Draft Definição inicial.

Compatibilidade

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
lastModifiedChrome Full support 13Edge Full support 18Firefox Full support 15IE No support NoOpera Full support 16Safari Full support 10WebView Android Full support YesChrome Android Full support YesFirefox Android No support NoOpera Android No support NoSafari iOS Full support 10Samsung Internet Android Full support Yes

Legend

Full support  
Full support
No support  
No support

Ver também