Friday, May 10, 2024
122
rated 0 times [  127] [ 5]  / answers: 1 / hits: 22790  / 11 Years ago, sun, january 26, 2014, 12:00:00

I'm using this function in a Google Apps Script:



function dateDiffYears() {
var datas = [ [Date(2005, 7, 20), Date(2004, 2, 17)],
[Date(2008, 9, 1),Date(2007, 5, 25)],
[Date(2010, 11, 2),Date(2010, 7, 28)],
[Date(2014, 0, 24),Date(2013, 1, 27)] ];

for (var i= 0; i < datas.length; i++){
var d1 = datas[i][0];
var d2 = datas[i][1];
Logger.log(d2 = + d2 );
Logger.log(d2 instanceof Date = + (d2 instanceof Date) );
Logger.log(d1 = + d1 );
Logger.log(d1 instanceof Date = + (d1 instanceof Date) );
var t2 = d2.getTime();
var t1 = d1.getTime();
Logger.log(d1 = + t1);
Logger.log(d2 = + t2);
var result = parseInt( (t2-t1)/(24*3600*1000) );
Logger.log(diff = + result);
}
}


As I can remember, this function worked in the past. But now, when I run it, I got this error message: TypeError: Cannot find function getTime in object Sun Jan 26 2014 10:23:10 GMT-0200 (BRST). (line 22, (line 22 is var t2 = d2.getTime();). I don't understand this error. What is wrong with the Date(yyyy, mm, dd) formate? And why the error message is talking about today date (ex:Sun Jan 26 2014 10:23:10 GMT-0200 (BRST)) since I'm not using New Date()?



enter



How to fix it?


More From » google-apps-script

 Answers
20

I don't understand this error because clearly Sun Jan 26 2014 10:23:10 GMT-0200 (BRST) is a date object.




Clearly it isn't a Date object. Perhaps it's a string, or some Google Apps Script object that gets output a bit like a date but doesn't have a getTime function. Perhaps it's a Range object containing a date.



If it were a Date object, it would have the getTime method.




How to fix it?




Without knowing how you get d1 and d2, it's impossible to say. If it's a Range object, for instance, perhaps you can get the date via getValue.



The first step is to figure out what the object actually is. Perhaps setting a breakpoint on the first line of dataDiff and inspecting the arguments.


[#72932] Friday, January 24, 2014, 11 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
kaitlynnb

Total Points: 402
Total Questions: 96
Total Answers: 109

Location: Trinidad and Tobago
Member since Fri, May 8, 2020
4 Years ago
kaitlynnb questions
;