Различные возвращаемые значения в Chrome и IE для даты?

0

В chrome fucntion возвращает меня false, и в IE возвращает меня true.Any предложение, почему это происходит? Я разместил изображение, чтобы увидеть, что я получаю. Изображение 174551

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;
   }
  • 0
    currentDate должен быть в формате UTC, верно?
  • 0
    да ... это должно быть
Показать ещё 3 комментария
Теги:

1 ответ

0

Поскольку вы использовали временную метку 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);
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню