所以我有日期这样的:如何将日期和时间转换为仅使用角矩的时间?
$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
。
我在这里错过了什么吗?任何帮助将非常感激。
所以我有日期这样的:如何将日期和时间转换为仅使用角矩的时间?
$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
。
我在这里错过了什么吗?任何帮助将非常感激。
因为"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'}}
一个plunker:http://plnkr.co/edit/RocNLPq6uBlFnccLFB8N?p=preview
我做的是这样的:
{{ getLocalDate(sample_time) | date: "hh:mm a"}}
得到当地日期转换为当前日期
$scope.getLocalDate = function (date) {
return new Date(moment.utc(date));
}
,这输出你想所需的时间格式。
我不知道这是否是最好的方法。我希望这有助于
如果你尝试,你会得到“弃用警告:提供的值不是在一个公认的RFC2822或ISO格式。”和一个空值。 – FewFlyBy
谢谢你指出。我想我需要改变我的实施。 :) – Redan