Momentjs:将 12 小时转换为日期对象
Posted
技术标签:
【中文标题】Momentjs:将 12 小时转换为日期对象【英文标题】:Momentjs : convert 12 hour to Date object 【发布时间】:2017-02-02 08:24:46 【问题描述】:我正在尝试将 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
有什么想法吗?
【问题讨论】:
day.from 是什么?你也应该检查这些docs.angularjs.org/error/ngModel/…***.com/questions/30537886/…moment
不是 date
对象。角度对时刻一无所知,但时刻有返回日期的方法
【参考方案1】:
Here 是一个工作小提琴,不会为我抛出任何错误
moment("6:00", ["h:mm"]).format("HH:mm") // working fine
【讨论】:
【参考方案2】:错误信息让我觉得你的date.from
应该是一个日期对象而不是一个字符串。请注意,format
返回一个字符串。
你可以使用toDate()
来获取一个Date对象,所以你会得到以下代码:
day.from = day.from || moment("6:00", "h:mm").toDate();
PS.解析字符串时不需要格式数组,因为其中只有一个元素,这就是我使用"h:mm"
而不是["h:mm"]
的原因。
【讨论】:
以上是关于Momentjs:将 12 小时转换为日期对象的主要内容,如果未能解决你的问题,请参考以下文章
如何将 12 或 24 小时时间格式的日期转换为“互联网”日期?
如何将日期/时间从 24 小时格式转换为 12 小时 AM/PM? [复制]