javascriptgoogle-apps-scriptgoogle-workspace

App script expression to calculate the number of days between two dates


I am trying to find the number of days between the current date and file creation date. The idea is to delete the files that are not more than 4 days from current date.

I used the below app script but the difference gives me a 'NaN' output in console


function iterateFolder() {
  var folder = DriveApp.getFolderById('XXXXXXXXXXX'); 
  console.log('Folder: ', folder.getName());
  var files = folder.getFiles(); 

  var currentDate = new Date();
  var modifiedDate = Utilities.formatDate(currentDate, 'Australia/Adelaide', 'dd-MM-yyyy');
  console.log('Now: ', modifiedDate);
  

  while(files.hasNext()){ 
    var file = files.next(); 
    var createdDate = file.getDateCreated();
    var modifiedCreatedDate = Utilities.formatDate(createdDate, 'Australia/Adelaide', 'dd-MM-yyyy');
    console.log('File: ', file.getName(), ' Created On: ', modifiedCreatedDate);

    console.log('Difference: ', modifiedDate - modifiedCreatedDate); // Gives NaN

  }

}


Solution

  • Get the days between two dates

    This modified version of your code will give you the difference(in days) between the two dates

    function iterateFolder() {
      var folder = DriveApp.getFolderById('replace_with_your_drive_folder_id');
      console.log('Folder: ', folder.getName());
      var files = folder.getFiles();
    
      var currentDate = new Date();
      console.log('Now: ', currentDate);
    
      while (files.hasNext()) {
        var file = files.next();
        var createdDate = file.getDateCreated();
        console.log('File: ', file.getName(), ' Created On: ', createdDate);
    
        // Calculate the difference in milliseconds
        var differenceMillis = currentDate - createdDate;
    
        // Convert milliseconds to days
        var differenceDays = Math.floor(differenceMillis / (1000 * 60 * 60 * 24));
        console.log('Difference in days: ', differenceDays);
      }
    }
    

    Sample Output

    sample output

    References: Calculate difference between dates