我正在嘗試將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 決議器決議還是我決議錯誤?非常感謝。
uj5u.com熱心網友回復:
這里用于將 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;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/382527.html
