Angular $ filter在firefox和safari中不起作用

时间:2017-01-06 07:51:34

标签: javascript angularjs

我使用Angular.js格式化现有日期,但它仅在chrome中使用。我在下面解释我的代码。

$scope.timestamp=2016-12-16 07:58:30 AM 
$scope.orginalTime= $filter('date')(new Date($scope.timestamp.replace("-","/")),'dd-MM-yyyy HH:mm:ss a');

这里我正在格式化日期时间,但它只在chrome中工作。我需要这个应该适用于所有浏览器,包括firefox,safari+MAC

1 个答案:

答案 0 :(得分:0)

手动解析字符串总是更好,因为浏览器的结果不一致。你做这样的事情

function parseDate(timestamp){

   raw = timestamp.split(" ");
   date = raw[0].split("-");
   time = raw[1].split(":");
   month = parseInt(date[1]-1);
   hour = raw[2] == "AM" ? time[0] : parseInt(time[0]) + 12;

   return new Date(date[0], month, date[2], hour, 58, 30);
}

parseDate("2016-12-16 07:58:30 AM");