UDF将天数添加到时间戳记

时间:2019-11-04 20:01:10

标签: azure-cosmosdb

我正在尝试将Cosmos集合中的当前时间戳添加10天,然后将其与今天的日期进行比较

我是不熟悉Cosmos中用户定义函数的人,因此我希望获得一些帮助。我拥有的时间戳示例

"MyTimeStamp": "2019-03-17T21:04:37.9149806Z"

我想要一个带时间戳的UDF并将其添加10天以输出

"MyTimeStamp": "2019-03-27T21:04:37.9149806Z"

然后,我想比较查询并使用GetCurrentDateTime()

与当前时间进行比较。

因此最终的SQL查询将是

SELECT c.MyTimeStamp 
FROM c 
WHERE udf.addTenDays(c.MyTimeStamp) < GetCurrentDateTime()

在Cosmos Db中有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用UDF将时间戳转换为unixtime,然后进行比较。请参考以下2个udfs:

AddTenDays:

function test(timestamp){
  var date = new Date(timestamp);
  //add 10 days
  var time = date.getTime()+864000000;
  return time;
}

GetCurrentUnixTime:

function today(){
   return new Date().getTime();
}

SQL:

SELECT c.id FROM c
where udf.test(c.MyTimeStamp)<udf.today()