Hei*_*del 7 javascript momentjs
我使用 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');
}
}
Run Code Online (Sandbox Code Playgroud)
如果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)不会创建矩对象并且下面的代码不会执行。有没有办法只处理时间?
Vin*_*zoC 11
您可以使用moment(String, String[]),如文档所述:
如果您不知道输入字符串的确切格式,但知道它可能是多种格式之一,则可以使用格式数组。
这与String + Format相同 ,只是它会尝试将输入匹配到多种格式。
您的第一行代码可能如下所示:
let dateAndTime = moment(component.props.data.value, [moment.ISO_8601, 'HH:mm']);
Run Code Online (Sandbox Code Playgroud)