Преобразовать 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);
Демо Фиддл