getTime()以毫秒为单位的日期

时间:2017-02-10 13:31:51

标签: angularjs

我希望以毫秒为单位输出日期,但它不起作用。

在html文件中我有:

{{product.date_expiration}}:// wich output ==> 2018-01-13T12:22:06.165Z

{{CurrentDate}}:// wich output ==> “2017-02-10T13:18:58.339Z”

with:

date_expiration: {type: Date}

和:

{CurrentDate}}: {type: Date}

当我尝试以毫秒为单位获取日期时:

{{product.date_expiration.getTime()}} ==>不输出任何东西

和:

{{CurrentDate.getTime()}} ==> output 1486733469830

任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:0)

似乎date_expiration不是日期对象。因此getTime()函数无法正常工作。我们必须使用过滤器将其转换为Date对象&给我们时间毫秒,因为我们不能在角度表达式中使用Date()

var app = angular.module('myApp', []);
app.filter('inMilliseconds', function() {
    return function(x) {
              
        return new Date(x).getTime();
    };
});
app.controller('myCtrl', function($scope) {
    $scope.date_expiration = "2018-01-13T12:22:06.165Z";
    $scope.currentDate = new Date();
});
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="myCtrl">
date_expiration: {{date_expiration | inMilliseconds }}
<br>
currentDate: {{currentDate.getTime() }}
</div>

<script>

</script>

</body>
</html>