我是kei,这是我在stackoverflow中的第一个问题。
我想转换RSS pubDate字符串(如下→ "CCD_ 1"(截止日期时间在Flutter中。
我花了5个小时在这个问题上。。。请帮帮我。
在Dart中,可以使用parse
方法将其更改为DateTime
数据。
var parsedDate = DateTime.parse('2020-07-28 22:00:00.000');
注意
parse
方法有自己的输入规则。基于文件:
当前接受的输入为:
日期:一个有符号的四到六位数的年份、两位数的月份和两位数的日期,可以选择用-字符分隔。示例:
"19700101""-0004-12-24"81030-04-01";。一个可选的时间部分,用T或空格与日期隔开。时间部分是两位数的小时,然后可选地是两位数分钟值,然后可选为两位数的秒值,然后
可选为"或','后面至少跟一个一位数的秒
分数。分钟和秒可以与前面的
部分用":"分隔。示例:";12〃"12:30:24.124"12:30:24124">
"123010.50";。一个可选的时区偏移部分,可能与前一部分相隔一个空格。时区是"z"或"z",或者是
有符号的两位数小时部分和可选的两位数分钟部分。这个符号必须是"或"+"或"-&";,并且不能被省略。分钟
与小时之间可以用":"分隔。示例:";Z""-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 +0900
0
+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
相同