如何解决我如何在React中使用DateInput获取日期格式,如MM / dd / yyyy
const dateFormatter = v => {
if (!(v instanceof Date) || isNaN(v)) return;
const pad = '00';
const yy = v.getFullYear().toString();
const mm = (v.getMonth() + 1).toString();
const dd = v.getDate().toString();
return `${(pad + mm).slice(-2)}-${(pad + dd).slice(-2)}-${yy}`;
};
const dateParser = v => {
const match = /(\d{2})-(\d{2})-(\d{4})/.exec(v);
if (match === null) return;
const d = new Date(match[1],parseInt(match[2],10) - 1,match[3]);
if (isNaN(d)) return;
return d;
};
<DateInput
className="location-input" label="Purchase Date" source="PurchaseDate"
format={dateFormatter} parse={dateParser} validate={required()}
/>
我正在使用这种格式,但没有得到类似的MM / dd / yy,但是我只有dd / MM / yy,请提供一些解决方案。
解决方法
使用momentjs
,您可以使用
const dateParser = date => {
if (!(date instanceof Date) || isNaN(date)) return;
return moment(date).format('MM/DD/YY');
};
此外,react-admin DateInput来自https://github.com/vascofg/react-admin-date-inputs,因此在阅读文档之后,您应该可以这样做
<DateInput options={{ format: 'MM/DD/YY' }} />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。