Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 如何在Flutter中显示日期或时间?_Firebase_Flutter_Date_Time - Fatal编程技术网

Firebase 如何在Flutter中显示日期或时间?

Firebase 如何在Flutter中显示日期或时间?,firebase,flutter,date,time,Firebase,Flutter,Date,Time,如果今天没有发送邮件,我想显示日期,如果今天发送邮件,我想显示时间 我使用Firebase服务器,在该服务器上保存我发送的每封邮件的服务器时间戳 这是我的代码摘录: Text( snapshot.data.documents[0]["time"] == DateTime.now() ? DateFormat.Hm().format(snapshot.data.documents[0]["time"].toDate()).toStr

如果今天没有发送邮件,我想显示日期,如果今天发送邮件,我想显示时间

我使用Firebase服务器,在该服务器上保存我发送的每封邮件的服务器时间戳

这是我的代码摘录:

 Text(
    snapshot.data.documents[0]["time"] == DateTime.now()
        ? DateFormat.Hm().format(snapshot.data.documents[0]["time"].toDate()).toString()
        : DateFormat.yMd().format(snapshot.data.documents[0]["time"].toDate()).toString(),
    style: TextStyle(
      color: Colors.grey,
      fontSize: 15.0,
      fontWeight: FontWeight.bold,
    ),
  )
不幸的是,我的代码只给出了日期。此外,日期输出如下:2021年3月27日。但是,我希望日期显示如下:2021年3月27日。

第一种情况如下

DateTime dateTime = DateTime.now();

Text(dateTime.difference(yourCurrentDay).inDays == 0 ? DateFormat.Hm()
                                          .format(snapshot
                                              .data.documents[0]["time"]
                                              .toDate())
                                          .toString()
                                      : DateFormat.yMd()
                                      .format(snapshot
                                      .data.documents[0]["time"]
                                      .toDate())
                                      .toString())
尝试简单的格式化方法。你最后的问题不清楚

 DateFormat formater = DateFormat('MM/dd/yyyy');
 String formatted = formater.format(now);
 print(formatted); 

 03/27/2021
这里有更多。。。。
这是我的最终代码。它现在工作得很好。再次感谢您的帮助!:)


谢谢你回答我的第二个问题。我的第一个问题还没有回答。你也能帮我吗?你能帮我检查一下吗?否则就显示时间或日期重要数据的差异。检查timeago软件包好的一个。软件包很好,谢谢,但它不能解决我的问题…:/时差计算出来了吗?
                                      Text(
                                      DateTime.now()
                                                  .difference(snapshot
                                                      .data.documents[0]["time"]
                                                      .toDate())
                                                  .inHours ==
                                              0
                                          ? DateFormat.Hm()
                                              .format(snapshot
                                                  .data.documents[0]["time"]
                                                  .toDate())
                                              .toString()
                                          : DateFormat('dd.MM.yyyy')
                                              .format(snapshot
                                                  .data.documents[0]["time"]
                                                  .toDate())
                                              .toString(),
                                    ),