Método Node.js fs.utimes()

El método fs.utimes() se utiliza para cambiar de forma asíncrona las marcas de tiempo de acceso y modificación de un archivo. 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.utimes( path, atime, mtime, callback )

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

  • ruta: Es una string que denota la ruta 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á.
  • devolución de llamada: Es una función que sería llamada cuando se ejecuta el método.
    • err: es un error que se lanzaría si el método falla.

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

Ejemplo 1:

// Node.js program to demonstrate the
// fs.utimes() method
  
// Import the filesystem module
const fs = require('fs');
  
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 newModifiedTime = new Date();
let newAccessTime = new Date();
  
// Use the utimes() function to assign
// the new timestamps
fs.utimes(
  "example_file.txt",
  newAccessTime,
  newModifiedTime,
  () => {
    // 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: 2017-01-24T23:41:00.000Z
Access Time: 2018-02-26T00:05:00.000Z

Details after changing time:
Changed Modification Time: 2020-05-25T15:31:08.257Z
Changed Access Time: 2020-05-25T15:31:08.257Z

Ejemplo 2:

// Node.js program to demonstrate the
// fs.utimes() method
  
// Import the filesystem module
const fs = require('fs');
  
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 newModifiedTime = new Date("January 25, 2017 05:11:00");
let newAccessTime = new Date("February 26, 2018 05:35:00");
  
// Use the utimes() function to assign
// the new timestamps
fs.utimes("example_file.txt", newAccessTime,
                       newModifiedTime, () => {
  
  // 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:19:24.250Z

Details after changing time:
Changed Modification Time: 2017-01-24T23:41:00.000Z
Changed Access Time: 2018-02-26T00:05:00.000Z

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

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 *