2013-12-05 6 views
1

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

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), мы можем просто разделить время и создать новый экземпляр даты.

Try:

$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); 

Demo Fiddle

+0

Спасибо, но это дает NaN ... Я вошел fixedTime = новая дата ($ scope.item.myDate) .getTime(); и новая дата (item ['myDate']). GetTime(); Оба дают NaN слишком – zeetit

+0

Даже новая дата (item ['myDate']) дает NaN – zeetit

+0

@ var17 http://jsfiddle.net/9Ymvt/847/ –

Смежные вопросы