Flutter - CupertinoDatePicker 比今天提前一天显示?
Flutter - CupertinoDatePicker showing one day ahead of the today?
目前,在我的 flutter 应用程序中实现了一个默认小部件 CupertinoDatePicker。在这个日期选择器中,我想要用户在前一天不能 select 的功能。用户应该能够 select 只有未来和今天的日期。
所以,我正确地传递了 "minimumDate: DateTime.now()" 属性,但是当 CupertinoDatePicker 打开时,它显示我今天提前一个日期。我检查了"DateTime.now()"属性的值。它可以正确显示当前时间,但 CupertinoDatePicker 小部件出现问题。
CupertinoDatePicker(
minimumDate: DateTime.now(),
minuteInterval: 1,
mode: CupertinoDatePickerMode.dateAndTime,
onDateTimeChanged: (DateTime dateTime) {
print("dateTime: ${dateTime}");
},
)
此外,应用了 "flutter clean" 命令。仍然面临同样的问题。
谁能提出可行的解决方案?
谢谢。
快速修复,
@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)),
输出
目前,在我的 flutter 应用程序中实现了一个默认小部件 CupertinoDatePicker。在这个日期选择器中,我想要用户在前一天不能 select 的功能。用户应该能够 select 只有未来和今天的日期。
所以,我正确地传递了 "minimumDate: DateTime.now()" 属性,但是当 CupertinoDatePicker 打开时,它显示我今天提前一个日期。我检查了"DateTime.now()"属性的值。它可以正确显示当前时间,但 CupertinoDatePicker 小部件出现问题。
CupertinoDatePicker(
minimumDate: DateTime.now(),
minuteInterval: 1,
mode: CupertinoDatePickerMode.dateAndTime,
onDateTimeChanged: (DateTime dateTime) {
print("dateTime: ${dateTime}");
},
)
此外,应用了 "flutter clean" 命令。仍然面临同样的问题。
谁能提出可行的解决方案?
谢谢。
快速修复,
@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)),
输出