Android React Native中的日期格式
我尝试根据设备设置格式化日期时间值。 无论我在模拟器设置或xCode方案中做了什么更改,我都会使用Android React Native中的日期格式,android,ios,react-native,datetime,ecmascript-6,Android,Ios,React Native,Datetime,Ecmascript 6,我尝试根据设备设置格式化日期时间值。 无论我在模拟器设置或xCode方案中做了什么更改,我都会使用date.toLocaleDateString() 所以我尝试了不同的图书馆(瞬间,反应本地化,…),但都是一样的,总是得到我们的格式 因此,我尝试使用以下代码直接设置语言环境: const date = new Date(Date.UTC(2019, 11, 26, 14, 5, 0)) const options = { dateStyle: 'medium', ti
date.toLocaleDateString()
所以我尝试了不同的图书馆(瞬间,反应本地化,…),但都是一样的,总是得到我们的格式
因此,我尝试使用以下代码直接设置语言环境:
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”),我想使用我设置的区域设置或更好的设备区域设置
感谢您的建议请尝试以下代码:
import Moment from 'moment';
render(){
Moment.locale('en');
var dt = '2016-05-02T00:00:00';
return(<View> {Moment(dt).format('d MMM')} </View>) //basically you can do all sorts of the formatting and others
}
您可以在此处查看moment.js官方文档
toLocaleDateString
将仅在react Native的调试模式下工作查看Itsik Mauyhas在该问题中的答案。。。感谢马修斯,但这不是我想要的。我不想强制使用“d MMM”或其他格式,我希望它基于电话语言显示,例如法语为“dd/mm/yyyy”,美国为“mm-dd-yyyy”。用swift很容易,但我坚持用React Native。此外,这个例子对英语来说是可以的,但对“fr”来说就不行了。请看这篇文章我试一下这篇文章:这正是问题所在,输出应该是“13/12/19”,第一个位置是day,而不是“12/13/19”。不考虑区域设置集,无论您键入什么,都会得到相同的结果!
moment("12-25-1995", "MM-DD-YYYY");