我使用momentjs来处理日期和时间
let dateAndTime = moment(component.props.data.value, moment.ISO_8601);
let date = '',
time = '';
if (dateAndTime) {
if (moment(dateAndTime, 'YYYY-MM-DD', true).isValid()) {
date = moment(dateAndTime).format('YYYY-MM-DD');
}
if (moment(dateAndTime, 'HH:mm', true).isValid()) {
time = moment(dateAndTime).format('HH:mm');
}
}
如果component.props.data.value
包含类似日期和时间的代码2018-05-22 14:45
或仅包含类似日期的代码,则此代码可以正常工作2018-05-22
。问题有时是component.props.data.value
只包含类似的时间14:45
,因此moment(component.props.data.value, moment.ISO_8601)
不会创建moment对象,并且下面的代码也不会执行。有什么办法只能解决时间问题吗?
您可以使用moment(String, String[])
,如文档所述:
如果您不知道输入字符串的确切格式,但是知道它可能是其中之一,则可以使用格式数组。
这与String + Format相同 ,只是它将尝试将输入匹配为多种格式。
您的第一行代码可能如下所示:
let dateAndTime = moment(component.props.data.value, [moment.ISO_8601, 'HH:mm']);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句