firebase - 为什么我的 DateTime 出现此错误?飘飘然
问题描述
我试图从 firebase 女巫获取数据是 String 类型。喜欢这种格式(yyyy-MM-dd – kk:mm),我试图将字符串解析为日期时间,但它给了我错误请谁能告诉我如何解决这个问题......
代码 :
var retriveDateTime = database_Reference
.child("users")
.child(_wifiObject.macAddress)
.child(DateFormat('dd-MM-yyyy').format(DateTime.now()));
if (retriveDateTime != null) {
retriveDateTime.once().then((value) {
String formatedtime = value.value['startingTime'];
startup_time = DateTime.parse(formatedtime);
});
insertDataToDatabase();
} else {
startup_time = DateTime.now();
insertDataToDatabase();
}
我得到的错误:
E/flutter ( 7155): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: FormatException: Invalid date format
E/flutter ( 7155): 2021-07-29 – 23:46
/flutter ( 7155): #1 _MyHomePageState.initState.<anonymous closure>.<anonymous closure>
包:alfurat_app/main.dart:16
当我单击错误时,它会将我带到这里:
startup_time = DateTime.parse(formatedtime);
解决方案
根据官方文档。很少有字符串格式支持。检查日期时间/parse.html
在您的情况下DateFormat('dd-MM-yyyy')
不支持。替换为DateFormat('yyyy-MM-dd')
.
接受的字符串示例:
"2012-02-27"
"2012-02-27 13:27:00"
"2012-02-27 13:27:00.123456789z"
"2012-02-27 13:27:00,123456789z"
"20120227 13:27:00"
"20120227T132700"
"20120227"
"+20120227"
"2012-02-27T14Z"
"2012-02-27T14+00:00"
"-123450101 00:00:00 Z": in the year -12345.
"2002-02-27T14:00:00-0500": Same as "2002-02-27T19:00:00Z"
推荐阅读
- java - Using Contains for objects in List collection
- static - please explain every element of Java main ("public static void main(String[] args)")
- css - 如何在 Angular 6 中动态编译组件样式
- sql-server - Update multiple columns using union all
- java - 设置 onClickListener 时出现 NullPointerException
- react-native - code push react native not changed library updates on users App
- android - 在 api 19 中获取 recyclerView 的子项视图
- python - Pyplot yaxis 组织和标准化,在一个图中使用多个数据集
- microservices - How do you name teams working on a large application composed of many microservices?
- php - 未找到文件错误消息未出现在 Code Igniter 中