如何仅使用 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'}}
所以我有这样的日期:
$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'}}