0

我正在尝试将 12 小时字符串转换为 24 日期对象

day.from = day.from || moment("6:00", ["h:mm"]).format("HH:mm");

但我收到此错误:

angular.js:11706 Error: [ngModel:datefmt] Expected `6:00` to be a date

有什么想法吗?

4

2 回答 2

0

该错误消息使我认为您date.from应该是 Date 对象而不是 String。请注意,format返回一个字符串。要从那一刻起获取 Date 对象,您可以使用toDate(),因此您将拥有以下代码:

day.from = day.from || moment("6:00", "h:mm").toDate();

PS。解析 String 时不需要格式数组,因为其中只有一个元素,这就是我使用"h:mm"而不是["h:mm"].

于 2016-09-25T08:43:30.363 回答
0

是一个工作小提琴,不会给我任何错误

 moment("6:00", ["h:mm"]).format("HH:mm") // working fine
于 2016-09-24T21:09:26.737 回答