FormatException: 无效的日期格式 2018-08-1

alt*_*ve4 2 datetime dart flutter

如果我在 DartPad 中编写,print(DateTime.parse("2012-12-12"));它会起作用。那么为什么当我执行以下操作时它不起作用(它报告“无效的日期格式”):

  for (int i = 1; i <= 28; i = i + 7) {
    _activities[DateTime.parse('2012-12-$i')] = activityNames.toList();
  }
Run Code Online (Sandbox Code Playgroud)

小智 12

因为 DateTime.parse 预计年份为 4 位数字,月份为 2 位数字,日为 2 位数字。在你的 for 循环中,我从 1 开始,它是一个低于 9 的数字,所以由于它是一位数字,所以他的解析函数没有收到预期的输入。因此,编译问题。我知道这很晚了,但我希望这对某人有帮助。

  • 不,你没有迟到。这是对该错误的正确解释。谢谢 (2认同)

Ami*_*ati 5

将此添加到您的包pubspec.yaml文件中:

https://pub.dev/packages/intl#-readme-tab-

依赖:

国际:^0.16.0

 var now = new DateTime.now();
 print(new DateFormat("yyyy-MM-dd").format(now));
Run Code Online (Sandbox Code Playgroud)

更多应该去这个:https : //androidkt.com/format-datetime-in-flutter/