我從 API 獲取資料,日期以字串值形式出現。我正在將字串資料轉換為 DateTime 并嘗試對其進行格式化。
問題是傳入的資料永遠不會為空。如果它為空,則為“N/A”,因此會出現錯誤。我認為它在決議時出錯,因為資料以 N/A 形式出現。
非“N/A”格式的資料被完美格式化。
String endDate = "N/A";
if (data.endDate != null) {
var endDateTime = DateTime.parse(data.endDate!);
endDate = DateFormat('yyyy-MM-dd').format(endDateTime);
}
有沒有辦法格式化資料或者我應該放棄?
uj5u.com熱心網友回復:
我只是使用DateTime.tryParse并檢查結果是否null表明決議失敗。
var endDateTime = DateTime.tryParse(data.endDate ?? '');
var endDate = (endDateTime == null)
? "N/A"
: DateFormat('yyyy-MM-dd').format(endDateTime);
請注意,上述內容將"N/A"用于任何決議失敗。
uj5u.com熱心網友回復:
像這樣的東西?:
var endDateTime = DateTime.parse(data.endDate!);
String endDate = (!data.endData || data.endData === 'N/A') ? 'N/A' : DateFormat('yyyy-MM-dd').format(endDateTime)
讓我知道。
uj5u.com熱心網友回復:
解決方案
String endDate = "N/A";
if (data.endDate!.length > 3) {
var endDateTime = DateTime.parse(data.endDate!);
endDate = DateFormat('yyyy-MM-dd').format(endDateTime);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/438194.html
