如何在flutter api调用中获取以前日期和将来日期的数据



我正在开发一个用于事件管理的应用程序,我想从api调用中检索过去日期和未来日期的事件数据。

我正在使用以下代码。但运气不好。

Future<List<dynamic>> getPastEventsData() async {
var token = box.read('token');
try {
final response = await get(
BaseClient().apiUrl.toString() +
'api/event/?event_date<' +
DateFormat('y-MM-d').format(DateTime.now()),
headers: {'Authorization': 'token $token'},
);
if (response.status.hasError) {
return Future.error(response.statusText.toString());
} else {
return response.body;
}
} catch (exception) {
return Future.error(exception.toString());
}
}

Future<List<dynamic>> getFutureEventsData() async {
var token = box.read('token');
try {
final response = await get(
BaseClient().apiUrl.toString() +
'api/event/?event_date>' +
DateFormat('y-MM-d').format(DateTime.now()),
headers: {'Authorization': 'token $token'},
);
if (response.status.hasError) {
return Future.error(response.statusText.toString());
} else {
return response.body;
}
} catch (exception) {
return Future.error(exception.toString());
}
}

请帮帮我。谢谢

var url = Uri.parse(SystemConfiguration.baseUrl +
SystemConfiguration.leaveCalenderEndpoint);
var response = await http.post(
url,
body: json.encode({
"pageSize": 100,
"pageIndex": 0,
"fromDate": DateFormat('yyyy-MM-dd').format(DateTime(
DateTime.now().year - 2,
DateTime.now().month,
DateTime.now().day)),
"toDate": DateFormat('yyyy-MM-dd').format(DateTime(
DateTime.now().year + 2,
DateTime.now().month,
DateTime.now().day))
}),
headers: {
"content-type": "application/json",
"accept": "application/json",
"Authorization": "Bearer " + accessToken
},
);
var jsonResponse = json.decode(response.body.toString());

感谢@Tasnuva-oshin的回答,尽管我已经用另一种方式解决了问题:通过我的视图部分中API响应的结果列表中的过滤操作。工作代码如下:

对于过去的数据:

_eventController.eventData.where((e) => DateTime.parse(e['event_date'])
.isBefore(DateTime.parse(
DateFormat('y-MM-d').format(
DateTime.now()))))
.toList()

对于未来数据:

_eventController.eventData.where((e) => DateTime.parse(e['event_date'])
.isAfter(DateTime.parse(
DateFormat('y-MM-d').format(
DateTime.now()))))
.toList()

eventData是我从API调用响应得到的结果列表。

最新更新