В chrome fucntion возвращает меня false, и в IE возвращает меня true.Any предложение, почему это происходит? Я разместил изображение, чтобы увидеть, что я получаю.
var _convertFromUTC = function(ticketTimeCreated) {
var offset = new Date(ticketTimeCreated).getTimezoneOffset() / 60;
var hours = new Date(ticketTimeCreated).getHours();
ticketTimeCreated = new Date(ticketTimeCreated).setHours(hours - offset);
return new Date(ticketTimeCreated);
}
var _checkForTimeDiference = function(ticketTimeCreated) {
var currentDate = new Date();
var formatedDate = _convertFromUTC(ticketTimeCreated);
if (formatedDate.getDate() == currentDate.getDate() && formatedDate.getHours() == currentDate.getHours())
if (currentDate.getMinutes() - formatedDate.getMinutes() <= mainConfigService.TicketCancelDuration) {
return true;
}
return false;
}
Поскольку вы использовали временную метку UTC, вам не нужно ее конвертировать, Date
сделает это за вас
new Date("2015-08-24T13:10:56") // Mon Aug 24 2015 15:10:56 GMT+0200
простая функция вроде этого должна быть в порядке
var _checkForTimeDiference = function(ticketTimeCreated) {
var currentDate = +new Date; // number of milliseconds since January 1, 1970
var ticketDate = +new Date(ticketTimeCreated);
return (currentDate - ticketDate) <= mainConfigService.TicketCancelDuration * (1000*60);
}
currentDate
должен быть в формате UTC, верно?