react-native - 如何从 Firestore 获取本地反应的日期?
问题描述
我想以 dd/mm/yyyy 格式在原生反应中显示来自 Firestore 的日期。我已经从另一个屏幕设置了日期,这里是我设置日期的 screen1 的代码:
const [date, setDate] = useState(new Date());
const [mode, setMode] = useState("date");
const [show, setShow] = useState(false);
const onChange = (event, selectedDate) => {
const currentDate = selectedDate || date;
setShow(Platform.OS === "ios");
setDate(currentDate);
};
const showMode = (currentMode) => {
setShow(true);
setMode(currentMode);
};
const showDatepicker = () => {
showMode("date");
};
return (
<View
style={{
marginTop: "15%",
height: "100%",
width: "100%",
}}>
<Button onPress={showDatepicker} title="Select Date" />
{show && (
<DateTimePicker
style={{
alignSelf: "center",
alignContent: "center",
width: "50%",
marginLeft: "20%",
marginTop: "8%",
}}
testID="dateTimePicker"
value={date}
mode={mode}
is24Hour={true}
display="default"
onChange={onChange}
/>
)}
<Button
title:'save'
onPress:{
dbRef.doc().set({
title: date,
sub: service,
key: new Date(),
});}/>
这是我在 screen2 中检索数据的方式
<FlatList
ListEmptyComponent={<Text>Nothing Available</Text>}
style={{ padding: 10, backgroundColor: "#D8E0E5E6" }}
data={exampleState}
keyExtractor={(item) => item.key}
renderItem={({ item }) => (
<Card
title={item.title.seconds.toString()}
sub={item.sub}
// onPress={() => {}}
/>
)}
/>
我所看到的基本上是以秒为单位的时间,我希望它采用 dd/mm/yyyy 格式的 Firestore 屏幕截图
提前感谢您的帮助。
解决方案
你只需要格式化你得到的日期firestore
:
<FlatList
ListEmptyComponent={<Text>Nothing Available</Text>}
style={{ padding: 10, backgroundColor: "#D8E0E5E6" }}
data={exampleState}
keyExtractor={(item) => item.key}
renderItem={({ item }) => (
<Card
title={new Date(item.title).toLocaleString()}
sub={item.sub}
// onPress={() => {}}
/>
)}
/>
对于其他格式选项,请使用诸如moment.js 之类的库。
然后你可以使用这样的东西:
<FlatList
ListEmptyComponent={<Text>Nothing Available</Text>}
style={{ padding: 10, backgroundColor: "#D8E0E5E6" }}
data={exampleState}
keyExtractor={(item) => item.key}
renderItem={({ item }) => (
<Card
title={moment(item.title).format('YYYY.MM.DD')}
sub={item.sub}
// onPress={() => {}}
/>
)}
/>
推荐阅读
- elasticsearch - Elasticsearch 匹配数组使用
- powershell - 找不到 SqlServerIntegrationService 的路径,但确实存在
- sql - Use for loop in Oracle SQL developer
- php - 删除功能无法在php ajax中删除表中的一行
- pyspark - get date Intervals in pyspark
- javascript - How to append to Map JavaScript?
- json - Use jq to filter json with regex, and the rest objects split into two separate chunks, containing half of the remaining objects each
- android - apk 符号-> 错误:com.android.build.gradle.internal.transforms.ProGuardTransform.transform
- sql - How to find if records match or not
- sql-server - 在 SQL 中使用 smallint 和 datetime 数据类型计算日期差