Ich versuche, das letzte Änderungsdatum einer Datei auf dem Server mit node.js abzurufen.
ich habe es versucht
file.lastModified;
und
file.lastModifiedDate;
beide kommen als undefiniert zurück.
Für Knoten v 4.0.0 und höher:
fs.stat("/dir/file.txt", function(err, stats){
var mtime = stats.mtime;
console.log(mtime);
});
oder synchron:
var stats = fs.statSync("/dir/file.txt");
var mtime = stats.mtime;
console.log(mtime);
util.inspect()
?stats.mtime
bereits ein Date-Objekt vorhanden ist.Sie sollten die Statistikfunktion verwenden:
Laut Dokumentation :
{ dev: 2049 , ino: 305352 , mode: 16877 , nlink: 12 , uid: 1000 , gid: 1000 , rdev: 0 , size: 4096 , blksize: 4096 , blocks: 8 , atime: '2009-06-29T11:11:55Z' , mtime: '2009-06-29T11:11:40Z' , ctime: '2009-06-29T11:11:40Z' }
Wie Sie sehen können,
mtime
ist dies die letzte geänderte Zeit.quelle
Hier können Sie die letzte Änderungszeit der Datei in Sekunden abrufen.
fs.stat("filename.json", function(err, stats){ let seconds = (new Date().getTime() - stats.mtime) / 1000; console.log(`File modified ${seconds} ago`); });
Gibt so etwas wie "Datei vor 300,9 Sekunden geändert" aus.
quelle
seconds = (new Date().getTime() - new Date(stats.mtime).getTime()) / 1000;
Fügen Sie einfach hinzu, was Sandro gesagt hat. Wenn Sie die Überprüfung so schnell wie möglich durchführen möchten, ohne ein Datum oder etwas anderes analysieren zu müssen, verwenden Sie einfach einen Zeitstempel in Millisekunden (Zahl)
mtimeMs
.Asynchrones Beispiel:
require('fs').stat('package.json', (err, stat) => console.log(stat.mtimeMs));
Synchron:
console.log(require('fs').statSync('package.json').mtimeMs);
quelle