flutter - 如何在 dart 中增加 DateTime.now

标签 flutter datetime dart flutter-web

我正在尝试在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/

相关文章:

android - Kotlin `apply()` Dart 中的方法模拟

python - 用 python 绘制每日概况

oracle - 如何使用非标准一周的第一天在 Oracle 中计算一年中的一周?

dart - 如何在 Flutter 中使用共享首选项

dart - 我们可以使用 Flutter 或 Dart 制作 Web 应用程序或网站吗

flutter - Flutter-连接包

flutter - 读取 Hivebox 值返回 List<dynamic> 而不是保存的 List<Object>

Dart 聚合物自定义元素动态链接

flutter - 在 flutter 中将数据作为对象存储在共享首选项中

python - 我的日期时间格式不正确,我做错了什么?