[英]React native moment formatted date in invalid
我的 RN 应用程序中有以下代码。
getFormattedDate = (date) => {
const formattedDate = moment(new Date(date)).format('MMMM, DD YYYY');
return { date: formattedDate };
}
当我在模拟器上运行它时,格式化的日期显示正确。 但是当我在设备上运行它时,它说,无效日期。 我在这里做错了什么?
根据您的评论,我假设date
参数是一个字符串。 如果要从字符串创建新时刻,则必须传递日期格式。 然后可以使用.format
格式化新创建的时刻以再次获取字符串。
改变:
const formattedDate = moment(new Date(date)).format('MMMM, DD YYYY');
到:
const formattedDate = moment(date,"MMM, DD YYYY").format("MMMM, DD YYYY");
在这里您可以找到有关字符串格式的更多详细信息。
Moment 比 new Date 慢 150 倍。 如果您想使用此代码工作,请像这样尝试。
getFormattedDate = async (date) => {
const formattedDate = await moment(new Date(date)).format('MMMM,DD YYYY');
return { date: formattedDate };
}
你可以在这里阅读更多细节https://github.com/moment/moment/issues/731
由于性能,我建议避免使用时刻。 使用 new Date () 然后获取日、月和年,并通过根据需要加入字符串来更改为合适的格式。 仅使用日期库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.