【发布时间】:2021-08-31 12:06:34
【问题描述】:
我正在使用 Firebase 和 Flutter,并希望存储一个截止日期的值,但我收到了相互冲突的消息,这不允许我以我希望的格式存储它
型号 导入'package:cloud_firestore/cloud_firestore.dart';
class Task {
final String id;
final Timestamp due;
Task({
this.id,
this.due,
});
factory Task.fromDoc(DocumentSnapshot doc) {
return Task(
id: doc.data()['id'],
due: doc.data()['due'],
);
}
}
写入数据
DateTime _date = DateTime.now();
TextEditingController _dateController = TextEditingController();
void _selectDate() async {
final DateTime newDate = await showDatePicker(
context: context,
initialDate: _date,
firstDate: DateTime.now(),
lastDate: DateTime.now().add(Duration(days: 90)),
helpText: 'Select date for task',
);
if (newDate != null) {
setState(() {
_date = newDate;
_dateController.text =
DateFormat("E, d MMM yyyy").format(_date).toString();
});
}
}
TextFormField(
controller: _dateController,
onTap: _selectDate,
enabled: true,
readOnly: true,
decoration: InputDecoration(labelText: 'Date'),
),
Task task = Task(budget: _sliderValue, due: _date);
DatabaseService.updateDate(taskId: _taskId, task: task);
static void updateDate({String taskId, Task task}) {
DocumentReference taskRef = tasksRef.doc(taskId);
tasksRef.get().then((doc) {
taskRef.update({
'due': task.due,
'budget': task.budget,
'status': 'open',
});
});
}
【问题讨论】:
标签: flutter datetime google-cloud-firestore datepicker timestamp