Преобразовать ISO DateTime в миллисекунды

У меня есть формат ISODateTime:

2013-11-21T20:58:03+0000 

Как преобразовать его в миллисекунды в AngularJS.

Я использовал DateTime.Parse() => он работает на Chrome, но не работает на IOS. Любой другой способ реализовать то же самое?

Моя главная цель для этого - найти разницу (в минутах) между текущим временем и этим временем:

var diff= (new Date(new Date().getTime() - Date.parse(item['myDate']))).getMinutes();

где элемент ['myDate'] = 2013-11-21T20:58:03+0000

1 ответ

Решение

Чтобы быть уверенным, что он будет работать в любом браузере (например, в iOS-сафари), мы можем просто разделить время и создать новый экземпляр даты.

Пытаться:

$scope.item = {};   
$scope.item.myDate = '2013-11-21T20:58:03+0000';

var arr =  $scope.item.myDate.split(/[- :+T]/);
var fixedDate = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4]);

var currTime = new Date().getTime();
var fixedTime = fixedDate.getTime();
var tot = currTime -  fixedTime;

var minutes = tot / 1000 / 60;

console.log('tot', tot);
console.log('minutes', minutes);

Демо Фиддл

Другие вопросы по тегам