是否可以格式化日期列表?我尝试通过格式化列表来对其进行格式化,但是出现了错误。
不能将参数类型“列表”分配给参数类型“ DateTime”。
var list = <DateTime>[];
DateTime start = DateTime(2018, 12, 30);
final end = DateTime(2022, 12, 31);
while (start.isBefore(end)) {
list.add(start);
start = start.add(const Duration(days: 1));
}
print(DateFormat("MM-dd-yyyy").format(list)); // The argument type 'List<DateTime>' can't be assigned to the parameter type 'DateTime'.
当我格式化日期到列表中之前,会出现错误,提示您不能在字符串上使用isBefore。
var list = <DateTime>[];
DateTime start = DateTime(2018, 12, 30);
var date = DateFormat("MM-dd-yyyy").format(start);
final end = DateTime(2022, 12, 31);
while (date.isBefore(end)) { //The method 'isBefore' isn't defined for the class 'String'.
list.add(start);
start = start.add(const Duration(days: 1));
}
答案 0 :(得分:1)
将第一个代码段更改为以下代码:
var list = <String>[];
DateTime start = DateTime(2018, 12, 30);
final end = DateTime(2022, 12, 31);
while (start.isBefore(end)) {
var formatedData = DateFormat("MM-dd-yyyy").format(start)
list.add(formatedData);
start = start.add(const Duration(days: 1));
}
由于format()
方法返回String
,然后将列表更改为键入String
,然后在while循环内,您可以格式化start
日期并将其添加到列表。