如何仅使用角度矩将日期和时间转换为时间?

时间:2017-09-14 04:06:24

标签: javascript angularjs momentjs 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

我在这里遗漏了什么吗?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

因为"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

答案 1 :(得分:1)

我做的是这样的:

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

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

 $scope.getLocalDate = function (date) {

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

然后输出所需的时间格式。

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