var format = function (date) { if (date) { if (!pickTime) { if (isEndDate && !onlyFutureDates) { date = date.hours(23).minutes(59).seconds(59).milliseconds(997); date = date.format("YYYY-MM-DDTHH:mm:ss.sss").toString(); } else { date = date.hours(0).minutes(0).seconds(0).milliseconds(0); date = date.format("YYYY-MM-DDTHH:mm:ss").toString(); } } } return date; };and I've been tracing it in Visual Studio immediate window and I can see that it returns seconds after seconds instead of milliseconds. In other words, my date ends by 997 but I am seeing 595 instead.