# Метод futimes

Метод `futimes` изменяет временные метки модификации и доступа через файловый дескриптор. Временные метки могут быть указаны с использованием числа, строки или объекта `Date`. Если метка времени не может быть преобразована в правильное число или имеет значение `NaN`, `Infinity` или `-Infinity` будет выдана ошибка. В первом параметре метода указывается нужный нам файловый дескриптор. Во втором параметре задаем новую отметку времени доступа, которую необходимо установить, в третьем параметре - новую отметку времени модификации, которую необходимо установить. В третьем необязательном параметре задаем коллбэк.

## Синтаксис

`fs.futimes(файловый дескриптор, время доступа, время модификации, [коллбэк]);`

## Пример

Давайте асинхронно изменим временные метки модификации и доступа файлового дескриптора через коллбэк. Вначале узнаем статистику о файловом дескрипторе через метод `statSync`, затем с помощью команд `mtime` и `atime` установим время модификации и доступа файла. После этого введем новые значения для времени доступа и времени модификации файла и в конце применим метод `futimes`:

`import fs from 'fs'; let fileDescriptor = fs.openSync('file.txt', 'r+'); let stat1 = fs.statSync('file.txt'); console.log('modification time1:', stat1.mtime); console.log('access time1:', stat1.atime); let modeTime = new Date(); let accessTime = new Date(); fs.futimes(fileDescriptor, accessTime, modeTime, () => { let stat2 = fs.statSync('file.txt'); console.log('modification time2:', stat2.mtime); console.log('access time2:', stat2.atime); });`

## Пример

А теперь давайте синхронно изменим временные метки модификации и доступа файлового дескриптора через `futimesSync`:

`import fs from 'fs'; let fileDescriptor = fs.openSync('file.txt', 'r+'); let stat1 = fs.statSync('file.txt'); console.log('modification time1:', stat1.mtime); console.log('access time1:', stat1.atime); let modeTime = new Date(); let accessTime = new Date(); try { fs.futimesSync(fileDescriptor, accessTime, modeTime); let stat2 = fs.statSync('file.txt'); console.log('modification time2:', stat2.mtime); console.log('access time2:', stat2.atime); } catch (err) { console.log(err); }`

## Смотрите также

- метод `utimes`,
  который изменяет временные метки модификации и доступа к файлу
- метод `unwatchFile`,
  который прекращает наблюдения за изменениями в файле

← →
↑