我正在尝试在flutter中使用DatePicker,我想将initialDate设置为DateTime.now(),将lastDate设置为DateTime.now() + 20yrs,这样它就会动态增加年份。 目前,我将 lastDate 设置为年份(2100),但是当 2101 年到达时,这会导致问题。那么如何修改我的函数来动态增加lastDate呢?
这是我的功能:
DateTime _date = DateTime.now();
Future < Null > _checkInDate(BuildContext contex) async {
DateTime ? _datePicker = await showDatePicker(
context: context,
builder: (BuildContext context, Widget ? child) {
return Theme(
data: ThemeData(
primaryColor: Color(0xFFEF5350),
colorScheme: ColorScheme.fromSwatch(primarySwatch: Colors.red)
.copyWith(secondary: Color(0xFFFFF176)),
),
child: child ? ? Text(""),
);
},
initialDate: _date,
firstDate: DateTime.now(),
lastDate: DateTime(2100), //how can i increase the lastDate dynamically?
);
if (_datePicker != null && _datePicker != _date) {
_checkInController.text = DateFormat('dd-MM-yyyy').format(_datePicker);
}
}
最佳答案
是的,您可以使用DateTime.now().year
获取当前年份,然后添加所需的年份。像这样:
final date = DateTime(DateTime.now().year + 20);
关于flutter - 如何在 dart 中增加 DateTime.now,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69714076/