【发布时间】:2020-04-06 04:44:24
【问题描述】:
我尝试根据设备设置格式化日期时间值。
无论我在模拟器设置或 xCode 方案中进行什么更改,我总是使用date.toLocaleDateString() 获得美国格式
所以我尝试了不同的库(moment、react-native-localize、...),但都一样,总是得到美国格式。
所以我尝试用这段代码直接设置语言环境:
const date = new Date(Date.UTC(2019, 11, 26, 14, 5, 0))
const options = {
dateStyle: 'medium',
timeStyle: 'short',
}
console.log(date.toLocaleDateString('en-US', options)) // Dec 26, 2019, 3:05 PM
console.log(date.toLocaleDateString('fr-FR', options)) // Dec 26, 2019, 3:05 PM
console.log(new Intl.DateTimeFormat('en-US', options).format(date)) // Dec 26, 2019, 3:05 PM
console.log(new Intl.DateTimeFormat('fr-FR', options).format(date)) // Dec 26, 2019, 3:05 PM
我仍然得到相同的结果!
除了“en-US”之外,我可以怎样做才能在其他语言环境中显示我的日期?
我不想自己硬核格式(“DD/MM/YYY HH:mm”),我想使用我设置的区域设置或更好的设备设置。
感谢您的建议
【问题讨论】:
-
toLocaleDateString只能在 react-native 的调试模式下工作 -
在这个问题stackoverflow.com/questions/51769039/… 中查看 Itsik Mauyhas 的答案......你需要什么才能让它工作......
标签: android ios react-native datetime ecmascript-6