Reputation: 1307
In this spreadsheet: https://docs.google.com/spreadsheets/d/1pExqHJQubnSPDKczkF9HMA2QN1cxTYmzyewQdugDRYs/edit#gid=1512058574
I have normal
& epoch time
:
I'm looking to clear NormalTime
& EpochTime
cells if they're older than one hour.
So I've written this script that deletes cells older than one hour:
function removeOldProcessTime() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Time");
var processTime = sheet.getRange("B2:B").getValues();
var now = new Date();
var ONE_HOUR = 60 * 60 * 1000; /* ms */
var oneHourAgo = now - ONE_HOUR;
for (var i = 0; i < 300; i++)
{
if(processTime[i] < oneHourAgo)
{
sheet.getRange(i + 2, 1).setValue('');
sheet.getRange(i + 2, 2).setValue('');
}
}
}
However, when I run, only row 8 is deleted:
What am I doing wrong?
Requirement: I'm looking to delete cells that are older than one hour.
Data:
NormalTime EpochTime
8/24 11:27:34 AM 1566671254626
8/24 11:50:43 AM 1566672643507
8/24 3:27:34 PM 1566685654609
8/24 5:27:34 PM 1566692854531
8/24 6:27:34 PM 1566696454446
8/24 8:27:34 PM 1566703654460
8/24 9:27:34 PM 1566707254819
8/24 10:27:34 PM 1566710854416
Upvotes: 0
Views: 127
Reputation: 1307
Looks like I needed to format column B
to number format of 0
. GAS automatically converts the cell into date and so in the script, it sees the EpochTime
as normal formatted date and it had trouble converting it back to Epoch
time
Upvotes: 2