我正在尝试将DateTime作为时间戳写入Cloud Firestore,如果我尝试添加List<String, dynamic>
,则该日期不起作用,该日期只是在Firestore中显示为String值。
例如,如果我有一个User
班级:
class User {
final String name;
final DateTime birthday;
User(this.name, this.birthday)
}
我这样写:
Firestore.instance.collection("users").add({
"name":user.name,
"date":Timestamp.fromDate(user.birthday)
})
它工作正常,并且日期在Firestore中正确显示为时间戳类型。
但是,如果我尝试创建一个Map<String, dynamic>
并将其添加:
class User {
...
Map<String, dynamic> toMap() {
return {
"name": name,
"date": Timestamp.fromDate(birthday)
}
}
}
并这样写:
Firestore.instance.collection("users").add(user.toMap())
然后在Firestore中将其显示为String而不是Timestamp。
有人知道为什么吗?