Flutter解析GMT

时间:2019-10-22 06:56:05

标签: flutter

你好,我有个问题! 我想将格林威治标准时间(GMT)解析为毫秒。 例如:Thu, 10 Oct 2019 02:05:09 GMT. 我尝试DateTime.parse("Thu, 10 Oct 2019 02:05:09 GMT") 我收到此错误

  小部件库捕获到

Exception,以下FormatException是   抛出的建筑物GroupPage(脏,状态:_GroupPage#cb39c):无效   日期格式2019年10月10日星期四02:05:09 GMT

3 个答案:

答案 0 :(得分:0)

DateTime.parse只能解析ISO 8601日期,而不是任意日期。来自文档:

  

该函数解析ISO 8601的子集,其中包括该子集   被RFC 3339接受。

     

可接受的字符串示例:

"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"

DateTime.parse方法不是日期字符串的选项,除非您以ISO 8601格式获取它。

答案 1 :(得分:0)

intl程序包可以解析相对灵活的日期和时间:https://pub.dev/packages/intl#date-formatting-and-parsing

答案 2 :(得分:0)

您可以使用HttpDate类来对此进行解析。

示例:

DateTime parsedDate = HttpDate.parse("Thu, 10 Oct 2019 02:05:09 GMT");