Flutter-CupertinoDatePicker比今天早一天显示?

时间:2019-12-10 11:32:50

标签: android datetime flutter flutter-cupertino cupertinopicker

当前,在我的flutter应用程序中实现默认的小部件CupertinoDatePicker。在这个日期选择器中,我希望用户不能选择今天之前的功能。用户应该只能选择将来的日期和今天的日期。

因此,我正确地传递了“ minimumDate:DateTime.now()” 属性,但是当CupertinoDatePicker打开时,它向我显示了今天的一个日期。我已经检查了“ DateTime.now()” 属性的值。它可以正确显示当前时间,但是从CupertinoDatePicker小部件中出现问题。

CupertinoDatePicker(
                    minimumDate: DateTime.now(),
                    minuteInterval: 1,
                    mode: CupertinoDatePickerMode.dateAndTime,
                    onDateTimeChanged: (DateTime dateTime) {
                      print("dateTime: ${dateTime}");
                    },
)

还应用了“ flutter clean”命令。仍然面临着同样的问题。

有人可以提出可行的解决方案吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

快速修复,

  @override
  Widget build(BuildContext context) {
    var now = DateTime.now();
    var today= new DateTime(now.year, now.month, now.day);

然后将today传递到minimumDate

CupertinoDatePicker(
                    minimumDate: today,
                    minuteInterval: 1,
                    mode: CupertinoDatePickerMode.dateAndTime,
                    onDateTimeChanged: (DateTime dateTime) {
                      print("dateTime: ${dateTime}");
                    },
                  ),

编辑

或者您可以使用@Leonard Arnold在注释中建议的以下代码

  minimumDate: DateTime.now().subtract(Duration(days: 1)),

输出

enter image description here