飞镖-颤振-渡槽:DateTime.parse()的奇怪行为

时间:2019-04-18 08:07:31

标签: parsing dart flutter datetime-parsing aqueduct

是的,好人, 我真的对DateTime.parse()的行为感到困惑;

在dartpad上有效

void main() {
      const String _iso8601 = '2019-04-01T08:30:00';
      final DateTime _date = DateTime.parse(_iso8601);
        print(_date.toIso8601String());
}

但颤抖的不是,但这是

      const String _iso8601 = '2019-04-01T08:30:00.000';
      final DateTime _date = DateTime.parse(_iso8601);

我现在在渡槽中,而这两个作品都没有

String _iso8601 = '2019-04-01T08:30:00Z';

请注意,“不起作用”并不表示它返回错误, 但只是一个空值。

[编辑:更正

当我模拟字符串而不是从请求的主体映射它时,返回

  

发生异常。 FormatException(空)

但是我再次使用Iso8601]

如果您有这种情况的经验,我可以寻求帮助。

[编辑:请注意,渡槽在dart 2.0上运行]

预先感谢您,弗朗切斯科

1 个答案:

答案 0 :(得分:0)

可接受的字符串示例:

"2012-02-27 13:27:00"
"2012-02-27 13:27:00.123456z"
"2012-02-27 13:27:00,123456z"
"20120227 13:27:00"
"20120227T132700"
"20120227"
"+20120227"
"2012-02-27T14Z"
"2012-02-27T14+00:00"
"-123450101 00:00:00 Z": in the year -12345.
"2002-02-27T14:00:00-0500": Same as "2002-02-27T19:00:00Z"