在 Flutter 应用程序中将日期时间转换为其他运行时类型
Convert datetime to other runtimetype in flutter app
我正在尝试将 DateTime
runtimetype 值转换为 Expression<DateTime, DateTimeType>
。近三天来,我一直在努力实现这一目标。我尝试了不同的方法,但都没有用。
我想实现这个的原因是因为 moor_flutter 库在某些情况下使用并接受库的 custom runtimetypes
方法和参数这些方法的值。
下面是示例代码;
final DateTime dateToday = new DateTime.now(); // convert DateTime to Expression<DateTime, DateTimeType>
var dateWithNewRuntimetype; // assign the converted value to this variable
我以为我通过将 as as Expression<DateTime, DateTimeType>
添加到 dateWithNewRuntimetype
变量值来解决这个问题,但这也不是解决方案。
解决方案适用于下面的代码
Stream<List> getLoansWithTomorrowDueDate(int dayInFuture) {
return (select(loans)
..where((l) => l.due_date.isBetween(
dateToday, // it should be Expression<DateTime, DateTimeType> not DateTIme
futureDate, // it should be Expression<DateTime, DateTimeType> not DateTIme)))
.watch();
}
如果您希望我提供更多相关信息,我会提供。
谢谢你,真爱。
将isBetween
与SqlType
进行比较。
您必须使用 isBetweenValues
.
/// Defines extension functions to express comparisons in sql
extension ComparableExpr<DT, ST extends ComparableType<DT>>
on Expression<DT, ST> {
Expression<bool, BoolType> isBetween(
Expression<DT, ST> lower, Expression<DT, ST> higher,
{bool not = false});
Expression<bool, BoolType> isBetweenValues(DT lower, DT higher,
{bool not = false});
}
我正在尝试将 DateTime
runtimetype 值转换为 Expression<DateTime, DateTimeType>
。近三天来,我一直在努力实现这一目标。我尝试了不同的方法,但都没有用。
我想实现这个的原因是因为 moor_flutter 库在某些情况下使用并接受库的 custom runtimetypes
方法和参数这些方法的值。
下面是示例代码;
final DateTime dateToday = new DateTime.now(); // convert DateTime to Expression<DateTime, DateTimeType>
var dateWithNewRuntimetype; // assign the converted value to this variable
我以为我通过将 as as Expression<DateTime, DateTimeType>
添加到 dateWithNewRuntimetype
变量值来解决这个问题,但这也不是解决方案。
解决方案适用于下面的代码
Stream<List> getLoansWithTomorrowDueDate(int dayInFuture) {
return (select(loans)
..where((l) => l.due_date.isBetween(
dateToday, // it should be Expression<DateTime, DateTimeType> not DateTIme
futureDate, // it should be Expression<DateTime, DateTimeType> not DateTIme)))
.watch();
}
如果您希望我提供更多相关信息,我会提供。
谢谢你,真爱。
将isBetween
与SqlType
进行比较。
您必须使用 isBetweenValues
.
/// Defines extension functions to express comparisons in sql
extension ComparableExpr<DT, ST extends ComparableType<DT>>
on Expression<DT, ST> {
Expression<bool, BoolType> isBetween(
Expression<DT, ST> lower, Expression<DT, ST> higher,
{bool not = false});
Expression<bool, BoolType> isBetweenValues(DT lower, DT higher,
{bool not = false});
}