首页 > 解决方案 > Momentjs 没有将某些西班牙月份转换为 UTC

问题描述

我正在开发一个支持两种语言(英语和西班牙语)的 React Native 应用程序。用英语获取日期很好,但对于西班牙语,Momentjs 无法在某些月份(西班牙语)中将其转换为时刻对象,例如 Abril,它会抛出 Invalid date 作为输出,而像 Septiembre 这样的其他月份工作正常并且正在转换到瞬间对象。

const aprilDateES = moment("09 Abril, 2021") // Invalid date
const septeDateEs = moment("09 Septiembre, 2021") // Thu Sep 09 2021 00:00:00 GMT+0530

它还在四月发出警告- 警告信息

我的目标是将所有西班牙日期/月份转换为时刻对象,以便可以将其转换为其他格式,例如 DD/MM/YYYY,也可以使用 momentJS 进行验证。

这是游乐场的链接 - https://replit.com/@DevAk1/MomentJSSpanishDate#src/App.jsx

标签: javascriptreactjsmomentjsdayjs

解决方案


将导入更改为 -

import moment from 'moment/min/moment-with-locales'

然后使用这个 -

const date = moment('09 Abril, 2021', 'DD MMMM, YYYY', 'es').locale('en') 
// Fri Apr 09 2021 00:00:00 GMT+0530

注意 - 这是特定于格式和语言的。请根据需要更改源/目标语言和日期格式。


推荐阅读