React Native 地图函数从数据库中获取日期

React Native map function to get date drom database

我想在我的前端显示我的数据库 (firestore) 中的日期,但当它在数据库中明确正确时,它只给我秒和纳秒作为值。

我正在做一个映射函数来从数据库中获取数据。

<Text style={styles.datecon}>{comp.date.seconds}</Text>

上面的代码有效,但给了我一个包含所有秒数的字符串。

<Text style={styles.datecon}>{comp.date}</Text>

上面的代码不工作,因为它是一个对象,需要扩展,但我只能将它扩展到秒和纳秒。

这是我console.log数据

的地方

这是firestore中的数据

创建一个将秒数转换为日期的函数。

const convertToDate = (seconds) => {
    return new Date(seconds).toString();
}

然后在你的 jsx 中使用它。

<Text style={styles.datecon}>{convertToDate(comp.date.seconds)}</Text>

多亏了答案(来自 bgcodes),我修复了错误并修复了日期而不是 1970 年,你应该只用 *1000 来获得正确的日期

const convertToDate = (seconds) => {
    return new Date(seconds*1000).toString();
}
<Text style={styles.datecon}>{convertToDate(comp.date.seconds)}</Text>

您从 SDK 获得的是一个名为 Timestamp 的 Firestore-specific 类型,其中列出了有用的方法 here

其中之一是从时间戳中获取一个 Date 对象,您可以使用 来获取它,更简单的方法是:

<Text style={styles.datecon}>{comp.date.toDate()}</Text>