javascript - Moment.js - 从输入表单创建“时间”唯一变量
问题描述
你会认为这很简单,但我有一个<input type="time">
用户输入时间的地方。该字段为我提供以下输出:16:30
. 所以,基本上它改变了它在输入中出现的方式,即--:-- --
for 04:30 PM
。
(顺便说一句,这是使用 Material 的 Angular 反应形式)
因此,从表单中,我必须使用的字符串是:16:30
我可以把它变成一个像这样的时刻对象:
let timeTwelve = moment(this.webcastForms.value[0].time, 'HH:MM');
这是我的 console.log 给了我某种大对象。我希望时间很快就会到来,这样我就可以按照我的需要来格式化它。所以,我尝试了:
let timeTwelve = moment(this.webcastForms.value[0].time, 'HH:MM').format('hh:mm A');
输出:invalid date
.
不知道为什么要这样做。有任何想法吗?
(奖金,我也有一个日期,我想创建第三个变量,它们都以MM/DD/YYYY hh:mm a (08/26/2016 09:00 AM)
.还有时间?)
谢谢你的帮助!
(作为参考,我的约会时间已经过去了)
Moment {_isAMomentObject: true, _i: {…}, _isUTC: false, _pf: {…}, _locale:
Locale, …}
_d: Mon Sep 24 2018 00:00:00 GMT-0400 (Eastern Daylight Time) {}
_i: {year: 2018, month: 8, date: 24}
_isAMomentObject: true
_isUTC: false
_isValid: true
_locale: Locale {_calendar: {…}, _longDateFormat: {…}, _invalidDate:
"Invalid date", ordinal: ƒ, _dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, …}
_pf: {empty: false, unusedTokens: Array(0), unusedInput: Array(0), overflow: -1, charsLeftOver: 0, …}
__proto__: Object
解决方案
我相信您使用的格式一定有问题。moment(this.webcastForms.value[0].time, 'HH:MM');
分钟格式是,mm
但您使用MM
的是月份数。尝试将其更改为
moment(this.webcastForms.value[0].time, 'HH:mm').format('hh:mm A');
推荐阅读
- javascript - 从 Electron 中的模块调用 main.js 中的对象
- javascript - 使用 JavaScript 逻辑和数据动态创建 DOM 元素
- r - R - 使用 tidytext 数据计数
- node.js - Dialogflow webhook 意图响应中的 OpenSearch 调用不返回数据
- python - Python 在 Excel 中设置样式和字体大小
- javascript - 如何创建一个可选组,但如果该组存在与我的正则表达式最匹配?
- c++ - 为 Qt 项目的每个模块添加一个包含
- android - 使用 Chrome 开发工具在 Cordova 应用程序中观看 console.logs
- android - 如何在同一个应用程序中连接两个蓝牙 SPP 设备?
- swift - 更改分组的 UITableView 页脚 textLabel 颜色