developer tip

node.js에서 마지막으로 수정 된 파일 날짜

optionbox 2020. 11. 30. 08:03
반응형

node.js에서 마지막으로 수정 된 파일 날짜


node.js를 사용하여 서버에서 파일의 마지막 수정 날짜를 검색하려고합니다.

난 노력 했어

file.lastModified;

file.lastModifiedDate;

둘 다 정의되지 않은 상태로 돌아옵니다.


노드 v 4.0.0 이상의 경우 :

fs.stat("/dir/file.txt", function(err, stats){
    var mtime = stats.mtime;
    console.log(mtime);
});

또는 동 기적으로 :

var stats = fs.statSync("/dir/file.txt");
var mtime = stats.mtime;
console.log(mtime);

stat 함수를 사용해야합니다.

문서 에 따르면 :

fs.stat(path, [callback])

비동기 stat (2). 콜백은 stats가 fs.Stats 객체 인 두 개의 인수 (err, stats)를 가져옵니다. 다음과 같이 보입니다.

{ 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' 
}

보시 mtime다시피이 마지막 수정 시간입니다.


여기에서 파일의 마지막 수정 시간을 초 단위로 가져올 수 있습니다.

fs.stat("filename.json", function(err, stats){
    let seconds = (new Date().getTime() - stats.mtime) / 1000;
    console.log(`File modified ${seconds} ago`);
});

"300.9 초 전에 수정 된 파일"과 같은 출력


산드로가 말한 것을 추가하기 만하면 날짜 나 다른 것을 구문 분석하지 않고 가능한 한 빨리 검사를 수행하려면 밀리 초 (숫자) 단위의 타임 스탬프를 가져 오면 mtimeMs. 동기식 예 :

js require('fs').stat('package.json', (err, stat)=>{console.log(stat.mtimeMs)})

동기식 :

js console.log(require('fs').statSync('package.json').mtimeMs)

참고 URL : https://stackoverflow.com/questions/7559555/last-modified-file-date-in-node-js

반응형