Vin*_*nzo 1 datetime mongodb flutter
我试图将Date signUpDate通过 http 请求接收到的 MongoDb User 对象中的字段解析为 Flutter DateTime signUpDate,但它总是失败。在我的用户架构中,我有signUpDate: { type: Date, required: false, default: Date.now },. 在我的 Flutterfactory User.fromMongoDB(Map<String, dynamic> map)助手中,我使用signUpDate: DateTime.parse(map['signUpDate']). 当打印http响应signUpDate时"signUpDate":"2021-12-15T11:10:01.521Z"。这只是从 mongo 返回的格式无法被 DateTime 解析器解析还是我错误地解析了它?非常感谢。
这里是将 ISO8601 字符串解析为日期时间的代码,只是传递您需要的格式。
import 'package:intl/intl.dart';
void main() {
var data = "2021-12-15T11:10:01.521Z";
DateTime dateTime = getFormattedDateFromFormattedString(
value: data,
currentFormat: "yyyy-MM-ddTHH:mm:ssZ",
desiredFormat: "yyyy-MM-dd HH:mm:ss");
print(dateTime); //2021-12-15 11:10:01.000
}
getFormattedDateFromFormattedString(
{required value,
required String currentFormat,
required String desiredFormat,
isUtc = false}) {
DateTime? dateTime = DateTime.now();
if (value != null || value.isNotEmpty) {
try {
dateTime = DateFormat(currentFormat).parse(value, isUtc).toLocal();
} catch (e) {
print("$e");
}
}
return dateTime;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1003 次 |
| 最近记录: |