You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中字符串转DateTime抛出FormatException问题求助

问题解决:DateFormat解析日期抛出FormatException

错误原因

你写的日期格式串顺序和待转换的日期结构不匹配:

  • 待转换日期:Mon, 05 Sep 2022 10:00:00 GMT,结构是「星期缩写, 日 月缩写 年 时分秒 GMT」
  • 你用的格式串:dd, EEE MMM yyyy HH:mm:ss 'GMT',把「日(dd)」放在了最前面,解析时会尝试从日期开头的Mon读取日数值,直接触发格式异常。

修正后的代码

调整格式串顺序为EEE, dd MMM yyyy HH:mm:ss 'GMT',同时修正字符串转义问题:

// 确保用英文环境解析英文星期缩写
safePrint(Intl.withLocale(
  'en',
  () => DateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'")
      .parse(batch_timing[j])));

// 用双引号包裹格式串避免单引号语法冲突
print(DateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'")
    .parse(batch_timing[j]));

额外注意

因为日期中的星期是英文缩写,必须通过Intl.withLocale('en')指定英文环境解析,否则如果系统默认locale不是英文,依然会解析失败。

内容的提问来源于stack exchange,提问作者Krishna prasad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 21:45:35