如何在flutter中将RSS pubDate字符串转换为DateTime



我是kei,这是我在stackoverflow中的第一个问题。

我想转换RSS pubDate字符串(如下→ "CCD_ 1"(截止日期时间在Flutter中。

我花了5个小时在这个问题上。。。请帮帮我。

在Dart中,可以使用parse方法将其更改为DateTime数据。

var parsedDate = DateTime.parse('2020-07-28 22:00:00.000');

注意

parse方法有自己的输入规则。基于文件:

当前接受的输入为:

  • 日期:一个有符号的四到六位数的年份、两位数的月份和两位数的日期,可以选择用-字符分隔。示例:
    "19700101"&quot-0004-12-24"81030-04-01";。

  • 一个可选的时间部分,用T或空格与日期隔开。时间部分是两位数的小时,然后可选地是两位数分钟值,然后可选为两位数的秒值,然后
    可选为"或','后面至少跟一个一位数的秒
    分数。分钟和秒可以与前面的
    部分用":"分隔。示例:";12〃"12:30:24.124"12:30:24124">
    "123010.50";。

  • 一个可选的时区偏移部分,可能与前一部分相隔一个空格。时区是"z"或"z",或者是
    有符号的两位数小时部分和可选的两位数分钟部分。这个符号必须是"或"+"或"-&";,并且不能被省略。分钟
    与小时之间可以用":"分隔。示例:";Z"&quot-10〃
    "01:30"1130";。

因此,您需要根据上述规则重新排列输入。

以下是可接受字符串的示例

2012-02-27 13:27:00

2012-02-27 13:27:00.123456789z

2012-02-27 13:27:00,123456789z

20120227 13:27:00

20120227T132700

Tue, 28 Jul 2020 22:00:00 +09000

+20120227

2012-02-27T14Z

2012-02-27T14+00:00

-123450101 00:00:00 Z:年份-1245。

2002-02-27T14:00:00-0500:与2002-02-27T19:00:00Z相同

最新更新