Detecting an “invalid date”

Benchmark created by zVictor on


Setup

var valid = new Date();
  var invalid = new Date('invalid');

Test runner

Ready to run.

Testing in
TestOps/sec
comparison
// An invalid date object returns NaN for getTime() and NaN is the only
// object not strictly equal to itself.
valid.getTime() === valid.getTime();
invalid.getTime() === invalid.getTime()
ready
timestamp isNaN
!isNaN(valid.getTime());
!isNaN(invalid.getTime());
ready
isFinite
isFinite(valid);
isFinite(invalid);
ready
comparison 2
// An invalid date object returns NaN for getTime() and NaN is the only
// object not strictly equal to itself.
var validTime = valid.getTime();
validTime === validTime;
var invalidTime = invalid.getTime();
invalidTime === invalidTime;
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.