相关疑难解决方法(0)

如何将 Firestore 时间戳打印为格式化的日期和时间

我的时间戳Timestamp(seconds=1560523991, nanoseconds=286000000)在 Flutter Firestore 快照中返回。

我想将其打印为格式正确的日期和时间。

DateTime.now()在创建新记录并使用 Firestore 快照检索它时使用将当前 DateTime 存储在 Firestore 中,但我无法转换为格式化的日期时间。我正在使用 libintl.dart进行格式化。

保存数据的代码

       d={'amount':amount,
      'desc':desc,
      'user_id':user_id,
      'flie_ref':url.toString(),
      'date':'${user_id}${DateTime.now().day}-${DateTime.now().month}-${DateTime.now().year}',
      'timestamp':DateTime.now()
return Firestore.instance.collection('/data').add(d).then((v){return true;
    }).catchError((onError)=>print(onError));
    });

Accessing with 

    FutureBuilder(
                  future: Firestore.instance
                      .collection('data')
                      .where('user_id', isEqualTo:_user_id)
                      .getDocuments(),
                  builder: (BuildContext context,
                      AsyncSnapshot<QuerySnapshot> snapshot) {
                    if (!snapshot.hasData)
                      return Container(
                          child: Center(child: CircularProgressIndicator()));
                    return ListView.builder(
                        itemCount: snapshot.data.documents.length,
                        itemBuilder: (BuildContext context, int index) {
                          return Column(
                            children: <Widget>[
       Text(DateFormat.yMMMd().add_jm().format(DateTime.parse(snapshot.data.documents[index].data['timestamp'].toString())]);


....
Run Code Online (Sandbox Code Playgroud)

抛出的错误是

日期格式无效。

我期待输出是: 'Jan 17, 2019, 2:19 PM'

time dart flutter google-cloud-firestore

24
推荐指数
5
解决办法
3万
查看次数

在dart中将datetime字符串转换为datetime对象?

说我有一个字符串

"1974-03-20 00:00:00.000"
Run Code Online (Sandbox Code Playgroud)

它是使用创建的DateTime.now(),如何将字符串转换回DateTime对象?

datetime dart

22
推荐指数
3
解决办法
1万
查看次数

用镖解析日期

我需要DateTime在Dart的一个对象中解析这种日期"星期一,2014年8月11日下午12:53 PDT" .

DateTime有一个静态方法parse接受ISO 8601格式的一个子集,而不是我的情况.

DateFormat类允许您定义的日期模式解析.我创造了"EEE,dd MMM yyyy hh:mm a zzz"的模式.

使用它我得到了FormatException: Trying to read a from Mon, 11 Aug 2014 12:53 pm PDT at position 23.

看起来解析器不喜欢PM标记的情况(我打开了一个问题).

我试图解决整个字符串的问题.使用字符串全部大写我再次得到一个FormatException,因为工作日和大写的月份名称.

任何其他解决方案或解决方法?

datetime parsing date dart

10
推荐指数
1
解决办法
5422
查看次数

更改日期格式化程序的语言环境

我在我的应用程序中使用日期格式化程序来显示一些日期..但我希望这个日期以阿拉伯语显示..所以我尝试像这样更改格式化程序的语言环境:

var now = new DateTime.now();
var formatter = DateFormat.yMMMd("ar_SA");
String formatted = formatter.format(now);
print(formatted);
Run Code Online (Sandbox Code Playgroud)

但它不工作..

如果我把它改成这样:

var now = new DateTime.now();
var formatter = DateFormat.yMMMd("en_US");
String formatted = formatter.format(now);
print(formatted);
Run Code Online (Sandbox Code Playgroud)

会正常工作..但我希望日期以阿拉伯语显示..

如何实现这一目标?我希望日期是例如 ?? ????? ????.. 怎么做?

dart flutter

4
推荐指数
1
解决办法
4673
查看次数

我如何在颤振中格式化这样的日期 2019-07-08T10:37:28Z

我想像这样格式化日期,2019-07-08T10:37:28Z但我不知道该怎么做,任何人都可以帮我解决这个问题。

这是日期选择器的代码

final format = new DateFormat.yMMMEd('en-US');

return DateTimeField(
      format: format,
      autocorrect: true,
      autovalidate: false,
      controller: _bspLicenseExpiryDate,
      readOnly: true,
      validator: (date) => date == null ? 'Please enter valid date' : null,
      decoration: InputDecoration(
          labelText: "Expiry Date",
          hintText: "Expiry Date",
          prefixIcon: Icon(
            FontAwesomeIcons.calendar,
            size: 24,
          )),
      onShowPicker: (context, currentValue) {
        return showDatePicker(
          context: context,
          firstDate: DateTime.now(),
          initialDate: currentValue ?? DateTime.now(),
          lastDate: DateTime(2100),
        );
      },
    );
Run Code Online (Sandbox Code Playgroud)

format datetime dart flutter flutter-layout

2
推荐指数
1
解决办法
5616
查看次数

如何使用flutter将时间戳从firebase转换为DateTime

我在firebase中有时间戳项。我从 dart 代码时间戳类型获取项目。它显示为 'Timestamp(seconds=1590903768, nanoseconds=26999000)' 原样。

我想在我的申请中只显示“2020-06-01”或“06-01”之类的日期。

请给我建议。

dart firebase flutter

2
推荐指数
1
解决办法
5058
查看次数

Dart - 如何将 yyyy-MM-dd 中的简单日期字符串的格式更改为 dd-MM-yyyy

我有一个 srting 日期 2019-09-30,我想在 dart 中将其转换为 30-09-2019

dart flutter

1
推荐指数
1
解决办法
4460
查看次数

1
推荐指数
1
解决办法
7589
查看次数