在 flutter dart 中将 1624275605667 转换为 Mon Jun 21 2021 17:10:05 GMT+05:30

时间:2021-06-25 07:18:20

标签: flutter datetime dart

var date = 1624275605667;
        final DateTime formatted = DateTime(date);
        final DateFormat fr = DateFormat('EEE MMM d yyyy HH:mm:ss');
        final String dd = fr.format(formatted);

我尝试这样做,但遇到了一些错误。

我想将 1624275605667 转换成这种格式 Mon Jun 21 2021 17:10:05 GMT+05:30

为此我在这里使用哪种格式

DateFormat('EEE MMM d yyyy HH:mm:ss zzz')

1 个答案:

答案 0 :(得分:2)

请试试这个

var date = 1624275605667;
    final DateTime formatted = DateTime.fromMillisecondsSinceEpoch(date);
    final DateFormat fr = DateFormat('EEE MMM dd yyyy HH:mm:ss');
    final String dd = fr.format(formatted);
    print(dd);

您正在使用 z 模式,但尚未实现。自 2015 年以来,问题仍未解决 https://github.com/dart-lang/intl/issues/19

并且在 intl package 中已经提到这个字符是保留的,目前没有实现。

对于解决方法,您可以使用

formatted.timeZoneOffset.toString(); /// 5:30:00.000000

GMT+05:30相同