Javascript - 使用moment.js格式化日期/时间

时间:2017-06-16 12:28:18

标签: laravel datetime momentjs vuejs2 laravel-5.4

我在Laravel:5.4vue.js:2.x使用了moment.js。我已使用momentdate & time中正确显示vue templates

例如,我的数据库中有2017-06-18个日期。所以我用过:

{{ moment(bookingDetail.date).format('MMMM Do YYYY') }}, {{ moment(bookingDetail.date).format('dddd') }} 

这给了我一些结果:June 18th 2017, Sunday。这项工作似乎很好。 现在,我还希望在我的vue模板中显示时间,如:01:00 pm。我的数据库中有13:00:00次。我会尝试这样:

{{ moment(bookingDetail.time).format("h:mm a") }}

但这不适合我!

有人帮我吗?任何帮助将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:2)

您必须使用moment(String, String)解析功能。

在第一种情况下,您的输入采用ISO 8601格式,因此moment(String)可识别,而在第二种情况下,您必须指定格式。

在您的情况下,您可以使用以下代码:

{{ moment(bookingDetail.time, "HH:mm:ss").format("h:mm a") }}

答案 1 :(得分:2)

我已经使用添加如下来解决了这个问题:

{{ moment(bookingDetail.time, "HH:mm:ss").format("h:mm a") }}

moment为我们提供了完整的约会时间。时间,如果我们的数据库中有正确的时间戳,就像我们在数据库中有2017-06-16 15:07:00,那么它会给我们June 16th 2017, Sunday @ 03:07 pm。但是,如果我们想要从03:07 pm获取15:07:00,那么我们需要这样做:

{{ moment(bookingDetail.time, "HH:mm:ss").format("h:mm a") }}

谢谢!