所以我有日期這樣的:如何將日期和時間轉換爲僅使用角矩的時間?
$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