Método Node.js fs.futimesSync()

El método fs.futimesSync() se usa para cambiar sincrónicamente las marcas de tiempo de modificación y acceso del descriptor de archivo dado. Las marcas de tiempo se pueden especificar mediante un número, una string o un objeto de fecha. Se arrojaría un error si la marca de tiempo no se puede convertir a un número adecuado, o si es NaN, Infinity o -Infinity.

Sintaxis:

fs.futimesSync( fd, atime, mtime )

Parámetros: este método acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:

  • fd: es un valor entero que denota el descriptor de archivo del archivo cuyas marcas de tiempo se deben cambiar.
  • atime: Es un objeto de número, string o fecha que denota la nueva marca de tiempo de acceso que se establecerá.
  • mtime: Es un objeto de número, string o fecha que denota la nueva marca de tiempo de modificación que se establecerá.

Los siguientes ejemplos ilustran el método fs.futimesSync() en Node.js:

Ejemplo 1:

// Node.js program to demonstrate the
// fs.futimesSync() method
  
// Import the filesystem module
const fs = require('fs');
  
// Get the file descriptor of the file
const fd = fs.openSync("example_file.txt", "r+");
  
console.log("Details before changing time:");
  
// Get the stats object of the file
prevStats = fs.statSync("example_file.txt");
  
// Access the modified and access time of the file
console.log("Modification Time:", prevStats.mtime);
console.log("Access Time:", prevStats.atime);
  
// Get the current time to change the timestamps
let changedModifiedTime = new Date();
let changedAccessTime = new Date();
  
// Use the futimesSync() function to assign
// the new timestamps to the file descriptor
fs.futimesSync(fd, changedAccessTime, changedModifiedTime);
  
// Get the stats object of the file
console.log("\nDetails after changing time:");
  
// Get the stats object of the file
changedStats = fs.statSync("example_file.txt");
  
// Access the changed modified and access time of the file
console.log("Changed Modification Time:", changedStats.mtime);
console.log("Changed Access Time:", changedStats.atime);

Producción:

Details before changing time:
Modification Time: 2015-12-20T19:42:00.000Z
Access Time: 2020-05-25T15:40:13.508Z

Details after changing time:
Changed Modification Time: 2020-05-25T15:52:21.546Z
Changed Access Time: 2020-05-25T15:52:21.546Z

Ejemplo 2:

// Node.js program to demonstrate the
// fs.futimesSync() method
  
// Import the filesystem module
const fs = require('fs');
  
// Get the file descriptor of the file
const fd = fs.openSync("example_file.txt", "r+");
  
console.log("Details before changing time:");
  
// Get the stats object of the file
prevStats = fs.statSync("example_file.txt");
  
// Access the modified and access time of the file
console.log("Modification Time:", prevStats.mtime);
console.log("Access Time:", prevStats.atime);
  
// Get the current time to change the timestamps
let changedModifiedTime = new Date("March 16, 2019 04:12:00");
let changedAccessTime = new Date("December 18, 2019 08:15:00");
  
// Use the futimesSync() function to assign
// the new timestamps to the file descriptor
fs.futimesSync(fd, changedAccessTime, changedModifiedTime);
  
// Get the stats object of the file
console.log("\nDetails after changing time:");
  
// Get the stats object of the file
changedStats = fs.statSync("example_file.txt");
  
// Access the changed modified and access time of the file
console.log("Changed Modification Time:", changedStats.mtime);
console.log("Changed Access Time:", changedStats.atime);

Producción:

Details before changing time:
Modification Time: 2020-05-25T15:52:21.546Z
Access Time: 2020-05-25T15:52:21.604Z

Details after changing time:
Changed Modification Time: 2019-03-15T22:42:00.000Z
Changed Access Time: 2019-12-18T02:45:00.000Z

Referencia: https://nodejs.org/api/fs.html#fs_fs_futimessync_fd_atime_mtime

Publicación traducida automáticamente

Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *