如何仅使用 angular-moment 将日期和时间转换为时间?

How can I convert a date and time into a time only using angular-moment?

所以我有这样的日期:

$scope.sample_time = "September 14th 2017, 1:00:00 pm";

在我看来,我只想像示例 1:00 pm 一样显示时间。

使用 angular-moment,我尝试了类似 {{ sample_time | amParse:'HH:mm a'}} 的方法,但我得到了 2017-09-14T06:00:00.000Z

我是不是漏掉了什么?任何帮助将不胜感激。

我的做法是这样的:

{{ getLocalDate(sample_time) | date: "hh:mm a"}}

获取本地日期转换为当前日期

 $scope.getLocalDate = function (date) {

        return new Date(moment.utc(date));
    }

这会输出您想要的时间格式。

我不确定这是否是最好的方法。希望对您有所帮助

因为"September 14th 2017, 1:00:00 pm"不是默认的有效日期,你需要先解析它,按照你使用的相应格式(即'MMMM Do YYYY, h:mm:ss a'),然后你得到一个有效日期,可以使用amDateFormat 格式化它:amDatFormat:'HH:mm a'

{{ sample_time | amParse:'MMMM Do YYYY, h:mm:ss a' | amDateFormat: 'H:mm s'}}

一个笨蛋:http://plnkr.co/edit/RocNLPq6uBlFnccLFB8N?p=preview