【问题标题】:Dart parse full dateTime including am/pmDart 解析完整的日期时间,包括上午/下午
【发布时间】:2020-10-27 08:44:01
【问题描述】:

我在这里有我的日期 2020/07/07 09:47:54 来自我试图解析为 2020/07/07 09:47am 的 API。我使用 intl 包尝试了以下方法,但出现错误

DateFormat format = DateFormat('yyyy/MM/dd hh:mm').add_jm();
DateTime newDate = format.parse(date)

未处理的异常:FormatException:尝试从 2020/07/07 09:47:54 在位置 20 读取

有人知道这里有什么问题吗?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    解决方案

    我找到了一种方法,我需要将字符串日期解析为 DateTime 格式,然后根据我的需要重新格式化。

    DateTime dateTime = DateFormat('yyyy/MM/dd h:m').parse(date);
    final DateFormat formatter = DateFormat('yyyy-MM-dd h:m a');
    final String formatted = formatter.format(dateTime);
    

    【讨论】:

    • 如何获得 AM/PM 数据?可能你需要在第一行用 HH:mm 解析你的日期
    【解决方案2】:

    我认为你需要添加这行代码:

    String date = DateFormat.yMEd().add_jms().format(DateTime.now());
    String dateWithT = date.substring(0, 8) + 'T' + date.substring(8);
    DateTime dateTime = DateTime.parse(dateWithT);
    
    

    【讨论】:

    • 不行不行我得到Unhandled Exception: FormatException: Trying to read EEE from 2020/07/07 09:47:54 at position 0
    • 我已经编辑好了,你的数据现在存储在dateTime
    • 不确定您是否意识到但我的日期来自 API 而不是当前日期。不过无论如何我已经找到了解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 2018-04-06
    相关资源
    最近更新 更多