Compartir a través de

DateTimeDiff(NoSQL 查询)

适用范围: NoSQL

以带符号整数的形式返回两个日期和时间值之间指定日期和时间部分的差值。

语法

DateTimeDiff(<date_time_part>, <start_date_time>, <end_date_time>)

参数

描述
date_time_part 一个字符串,它表示 ISO 8601 日期格式规范的一部分。 此部分用于指示要比较日期的哪些方面。
start_date_time 采用 ISO 8601 格式 YYYY-MM-DDThh:mm:ss.fffffffZ 的协调世界时 (UTC) 日期和时间字符串。
end_date_time 采用 ISO 8601 格式 YYYY-MM-DDThh:mm:ss.fffffffZ 的协调世界时 (UTC) 日期和时间字符串。

返回类型

返回一个数值,该值是一个带符号整数。

示例

以下示例使用不同的日期和时间部分对“2019 年 2 月 4 日 16:00 UTC”和“2018 年 3 月 5 日 05:00 UTC”进行了比较。

SELECT VALUE {
    diffPastYears: DateTimeDiff("yyyy", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
    diffPastMonths: DateTimeDiff("mm", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
    diffPastDays: DateTimeDiff("diffDays", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
    diffPastHours: DateTimeDiff("hh", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
    diffPastSeconds: DateTimeDiff("ss", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
    diffFutureYears: DateTimeDiff("yyyy", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
    diffFutureMonths: DateTimeDiff("mm", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
    diffFutureDays: DateTimeDiff("diffDays", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
    diffFutureHours: DateTimeDiff("hh", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
    diffFutureSeconds: DateTimeDiff("ss", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000")
}
[
  {
    "diffPastYears": -1,
    "diffPastMonths": -11,
    "diffPastHours": -8075,
    "diffPastSeconds": -29070000,
    "diffFutureYears": 1,
    "diffFutureMonths": 11,
    "diffFutureHours": 8075,
    "diffFutureSeconds": 29070000
  }
]

备注

  • 此函数出于以下原因返回 undefined
    • 指定的日期和时间部分无效。
    • start 或 end 参数中的日期和时间不是有效的 ISO 8601 日期和时间字符串。
  • ISO 8601 日期格式指定用于此函数的有效日期和时间部分:| | 格式 | | --- | --- | | | dayddd | | 小时 | hourhh | | 分钟 | minutemin | | | secondsss | | 毫秒 | millisecondms | | 微秒 | microsecondmcs | | 纳秒 | nanosecondns |
  • 该函数始终返回带符号整数值。 该函数返回跨指定日期和时间部分的边界数的度量值,而不是时间间隔的度量值。