我正在使用flutter和moor作为数据库库构建一个移动应用程序。我必须获取特定月份的所有交易。我的查询如下。
Future<List<Transaction>> fetchTransactionsByCategory(
String name, DateTime reportDate) {
return (select(transactions)
..where((i) {
final date = i.date;
return date.year.equals(reportDate.year) &
date.month.equals(reportDate.month) &
i.subCategory.equals(name);
}))
.get();
}
问题是,如果交易时间是 2021 年 5 月 1 日 12:00:00 AM,它不是在 5 月报告中,而是在 4 月报告中。我能够在数据库中理解它在 2021 年 4 月 30 日 16:00:00 PM(此处为时区 +8)中持续存在。
我必须如何编写查询以根据本地时区获取事务?有什么建议么?