Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android React Native中的日期格式_Android_Ios_React Native_Datetime_Ecmascript 6 - Fatal编程技术网

Android React Native中的日期格式

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

我尝试根据设备设置格式化日期时间值。 无论我在模拟器设置或xCode方案中做了什么更改,我都会使用
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");