我从 Script Db 运行以下查询。我将它正在寻找的日期存储为“M/d/yyyy”,作为一个字符串。查找很好并返回我需要的所有内容,但排序顺序不是按月或按年。
var result = db.query({"p1arSn":e.parameter.search}).sortBy("maintAccomplishedDate", db.DESCENDING);
任何指导表示赞赏谢谢!
我从 Script Db 运行以下查询。我将它正在寻找的日期存储为“M/d/yyyy”,作为一个字符串。查找很好并返回我需要的所有内容,但排序顺序不是按月或按年。
var result = db.query({"p1arSn":e.parameter.search}).sortBy("maintAccomplishedDate", db.DESCENDING);
任何指导表示赞赏谢谢!
您不能使用 sortBy 对存储为字符串的日期进行排序。你的选择是
选项 1 更简单,但如果您要检索分页或有限数据,那么在检索后进行排序不是您想要的。
选项 2 有点困难 - 在 ScriptDb 中存储日期时,存储时间戳(日期有一个getTime()
给你的)。这些是可以排序的数字。
您可以从您的日期字符串之一中获取时间戳,如下所示:
var timestamp = new Date('3/5/1983').getTime() // 415688400000
您可以像这样取回原始字符串:
var d = new Date(415688400000);
var string = [d.getMonth() + 1, d.getDate(), d.getYear()].join('/');