javascript - toLocaleString() 在 Android 中不适用于 React Native
问题描述
我正在尝试在我的应用程序中使用一些日期格式。
假设我正在获取日期戳, "1573457092953.63"
并且我正在尝试按照以下格式进行操作。
"11/11/2019, 1:17:00"
所以,我用过date.toLocaleString()
它在 iOS 中运行良好,但在 Android 中出现问题。
In iOS getting like 11/11/2019, 1:17:00 PM
Android getting like Mon Nov 11 1:17:00
如何解决这个问题,即使我没有从其他论坛得到任何东西。
有什么建议么?
解决方案
不幸的是,toLocaleString()
不适用于Android。请检查以下链接。
解决方法是创建自定义映射并使用它:
const dateTimeMapping = {
en: {
onlyTime: 'h:mm A',
shortDate: 'ddd, D MMMM',
longDate: 'D MMMM YYYY h:mm A',
},
de: {
onlyTime: 'H:mm',
shortDate: 'ddd, D. MMMM',
longDate: 'LLL',
},
it: {
onlyTime: 'H:mm',
shortDate: 'ddd D MMMM',
longDate: 'D MMMM YYYY HH:MM',
},
}
传递 locale 属性和格式的类型:
const result = dateTimeMapping[locale][type];
关于数字格式,您可以在此处阅读更多内容。
推荐阅读
- python - 如何在迭代另一个列表时填充新列表?
- reactjs - 如何在没有无限渲染的情况下将两个逻辑动作组合在一种方法中?
- python - 网页抓取问题,r 未定义?怎么修?
- django - Django Rest - 将 @action 与自定义装饰器一起使用
- excel - 使用 vba 插入的 Excel 公式返回错误的结果
- sql-server - 删除 SQL Server 上的大量数据
- r - 如何根据特定年份的已知值替换 NA 值?
- java - 如何在本地使用 java 连接到带有 spark 的 Google 大查询?
- php - 将 Array String 转换为 Int 总是得到 return int(1)
- oracle - Oracle SQL Developer 无法检测到 Oracle 钱包中的服务