查询表达式中使用的日期

可以使用 time() 操作程序在查询表达式中指定日期。

time() 操作程序可以接受绝对日期或相对日期。此类日期字符串使用服务器而不是客户机的语言环境和时区在 Rational® Synergy 服务器上进行处理。相对日期使用服务器的时区并以 00:00:00 表示一天的开始。如果服务器使用的是与客户机不同的时区,可能会导致意外的结果,尤其是对于相对日期。

time() 操作程序接受以下任何格式:

  1. 'YYYY/MM/DD hh:mm:ss'。在所有服务器语言环境中都接受此格式。但是,由于它不显式指定时区,因此时间在服务器的时区中进行处理。 例如,'2009/03/12 15:12:33' 表示采用服务器时区的 2009 年 3 月 12 日 15:12:33。
  2. Rational Synergy 尝试若干格式,其中大部分在语言、标点符号和排序方面都特定于美国惯例。例如,' Thu May 2 12:15' 表示采用服务器时区的当前年份的 5 月 2 日 12:15。'April 10 1998' 表示采用服务器时区的 1998 年 4 月 10 日 00:00:00。
  3. ISO8601 格式。可以使用以下参数按照 ISO 8601 格式 '2006-08-21 T09:12:15-0100' 来编写查询中使用的日期/时间字符串:

    必须提供完整的四位数年份数字。

    月、日、小时、分钟和秒字段必须存在,并且必须恰好为两位数,根据需要包含前导零。

    年、月和日字段必须由单个破折号 (-) 分隔。

    日期和时间必须由单个大写字母 T 分隔。

    时间字段必须由单个冒号 (:) 分隔。

    时区字段必须存在,并且可以是单个大写字母 Z(表示 UTC (GMT) 时间),或者是加号 (+) 或减号 (-) 字符跟以 UTC 偏移量。

    UTC 偏移量以小时(两位数)和分钟(两位数)形式表示;小时和分钟可以由可选的冒号 (:) 分隔符分隔。 因此,-0500 和 -05:00 均是有效的时区字段。

  4. 相对时间 '-d:h:m:s''+d:h:m:s'。 以下显示了部分示例。

    '-0:0:0:0' 表示采用服务器时区的今天开始

    '+0:0:0:0' 表示采用服务器时区的今晚午夜

    '-1:18:0:0' 表示采用服务器时区的前天上午 6 点

    '-2:0:0:0' 表示采用服务器时区的前天开始

    '-2:8:0:0' 表示采用服务器时区的三天前下午 4 点

使用 ISO8601 格式表示绝对日期有一个优点。如果显式指定了时区,将显式定义日期,以便其不依赖于服务器的时区或语言环境。


反馈