0
我想查询并按领域中的日期过滤。这里是我的代码:
let factories = realm.objects('Factory')
for(factory of factories) {
let toys = realm.objects('Toy').filtered('factory_id == factory.id')
let lowerBound = new Date(year + '-1-1T00:00:00Z')
let uppperBound = new Date(year + '-2-1T00:00:00Z')
let janToys = toys.filtered('created_at > lowerBound AND created_at < uppperBound')
}
year
是上面的代码段之前声明的变量。
这不起作用,我敢肯定这是因为日期格式不正确。
这里是日期格式,当我登录玩具:
Fri Mar 24 2017 16:01:59 GMT+0800 (Malay Peninsula Standard Time)
我想知道如何查询境界日期。我无法在文档和其他帖子中找到它。我会很感激任何帮助。如果这不是日期格式问题,请告诉我。
谢谢!
编辑:我添加了外部循环。这可能不是日期格式问题。这里是错误信息:
Error: Predicate expressions must compare a keypath and another keypath or a constant value`
如果你创建你的lowerBound和upperBound,如下所示:'let lowerBound = new Date(year +'-01-01T00:00:00');'和'let uppperBound = new Date(year +'-02 -01T00:00:00');' –
@JanPeter,嗨,这是一个诚实的错误。我试着运行它,这个错误出现了: '错误:谓词表达式必须比较一个键路径和另一个键路径或一个常量值' –
嗯,这对我来说很神秘,因为我不常使用领域:/但我会将日期存储为整数,并在保存和读取日期之前将日期转换为unix时间戳。使我的事情变得容易很多,因为处理日期类型不是很容易,因为经常在各种语言之间切换^^ –