【发布时间】:2019-11-14 16:41:41
【问题描述】:
我正在使用 datetime_picker_formfield 包 (https://pub.dev/packages/datetime_picker_formfield) 并希望创建两个用户输入的日期时间选择器,然后在用户提交后计算它们之间的差异。
我已经向 datetime 添加了一个控制器,如下所示,但我意识到这只是一个 TextEditing 控制器而不是 datetime 控制器。如何跟踪两个字段的提交日期时间,然后在提交“获取差异”按钮时获取它们的差异。
Row(
children: <Widget>[
Container(
width: width*.5,
child: DateTimeField(
controller: _startTimeController,
decoration: InputDecoration(
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
),
style: TextStyle(color: Colors.white, fontSize: 32),
format: format,
onShowPicker: (context, currentValue) async {
final time = await showTimePicker(
context: context,
initialTime: TimeOfDay.fromDateTime(currentValue ?? DateTime.now()),
);
return DateTimeField.convert(time);
},
),
),
],
),
Row(
children: <Widget>[
Container(
width: width*.5,
child: DateTimeField(
controller: _startTimeController,
decoration: InputDecoration(
// suffixIcon: IconButton(icon: Icon(Icons.close, color: Colors.white,), onPressed: state.clear,),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
),
// initialValue: yesterday10pm,
style: TextStyle(color: Colors.white, fontSize: 32),
format: format,
onShowPicker: (context, currentValue) async {
final time = await showTimePicker(
context: context,
initialTime: TimeOfDay.fromDateTime(currentValue ?? DateTime.now()),
);
return DateTimeField.convert(time);
},
),
),
],
),
Row(children: <Widget>[
RaisedButton(child: Text("Get Difference"), onPressed: () {
print(_startTimeController);
print(_endTimeController);
} ,)
],)
更新为包含错误代码:
flutter: 2019-11-14 04:25 PM
flutter: 2019-11-14 10:34 PM
flutter: ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
flutter: The following FormatException was thrown while handling a gesture:
flutter: Invalid date format
flutter: 2019-11-14 04:25 PM
【问题讨论】: