如何在Flutter中实现日历功能,以在DateTimePickerFormField中显示当前日期之后到2天之后的日期

时间:2019-03-28 21:56:18

标签: flutter

我希望日历显示的日期从当前日期的第二天到第二天。

final dateFormat = DateFormat.yMMMMd("en_US");

new DateTimePickerFormField(
                  dateOnly: true,
                  format: dateFormat,
                  validator: (val) {
                    if (val != null) {
                      return null;
                    } else {
                      return 'Date field is empty';
                    }
                  },
                  decoration: InputDecoration(labelText: 'Departure Date'),
                  initialValue: DateTime.now(),
                  //difference: finalValue.difference(initialValue).inDays,
                  onSaved: (value) {
                    debugPrint(value.toString());
                  },
                ),

1 个答案:

答案 0 :(得分:0)

使用add类的DateTime函数:

   final dateFormat = DateFormat.yMMMMd("en_US");

   new DateTimePickerFormField(
              inputType: InputType.date,
              format: dateFormat,
              validator: (val) {
                if (val != null) {
                  return null;
                } else {
                  return 'Date field is empty';
                }
              },
              decoration: InputDecoration(labelText: 'Departure Date'),
              initialDate: DateTime.now().add(Duration(days: 1)),
              firstDate: DateTime.now(),
              lastDate: DateTime.now().add(Duration(days: 3)),
              onSaved: (value) {
                debugPrint(value.toString());
              },
            ),

顺便说一句,我将您的代码从使用dateOnly参数更改为inputType,因为现在不推荐使用前者,使用它会导致将来的兼容性问题。