跳到主要内容

日期和时间解释

Qlik Sense 会将数据中发现的每个日期,时间和时间戳存储为日期序列号。日期序列号用于日期、时间和时间戳,并且根据日期和时间实体进行算术运算。因此可增减日期和时间,还可比较时间间隔等。

日期序列号是自 1899 年 12 月 30 日以来的(实值)天数,即 Qlik Sense 格式与 Microsoft Excel 和其他程序使用的 1900 年日期系统(范围为从 1900 年 3 月 1 日至 2100 年 2 月 28 日)完全相同。例如,33857 相当于 1992 年 9 月 10 日。一旦超出此范围,Qlik Sense 会使用相同的日期系统按公历延长。

备注: 如果字段包含 1980 年 1 月 1 日之前的日期,则字段将不会包含 $date$timestamp 系统标签。字段应当仍被 Qlik Sense 识别为日期字段,但是如果您需要标签,可通过 Tag 语句在数据加载脚本中手动添加它们。有关详细信息,请参阅Tag

时间序列号是介于 0 与 1 之间的数字。序列号 0.00000 相当于 00:00:00,,而 0.99999 相当于 23:59:59。混合数字表示日期和时间:序列号 2.5 表示 1900 年 1 月 1 日的中午 12:00。

但是日期按照字符串的格式显示。默认情况下使用控制面板中所做的设置。使用脚本中的数字解释变量,或者借助格式化函数也可以设置日期格式。最后,还可以在工作表对象的属性表格中重新格式化数据。

要进一步了解数字解释变量,请参阅数字解释变量

要进一步了解格式函数,请参阅格式函数

Example 1:  

  • 1997-08-06 存储为 35648
  • 09:00 存储为 0.375
  • 1997-08-06 09:00 存储为 35648.375

以及其他方式:

  • 35648 (带数字格式 'D/M/YY')显示为 6/8/97
  • 0.375(带数字格式 'hh.mm')显示为 09.00

Qlik Sense 将遵循一组规则来尝试解释日期、时间和其他数据类型。但是最终结果受上述众多因素的影响。

Example 2:  

这些示例假定采用以下默认设置:

  • 数字小数位分隔符:
  • 缩写日期格式: YY-MM-DD
  • 时间格式: hh:mm

以下表格显示了当数据读取到脚本中无特殊解释函数时 Qlik Sense 的不同呈现形式:

在没有脚本中的特殊解释函数的情况下读取数据时的表
源数据 Qlik Sense 默认解释 'YYYY-MM-DD' 日期格式 'MM/DD/YYYY' 日期格式 'hh:mm' 时间格式 '# ##0.00' 数字格式
0.375 0.375 1899-12-30 12/30/1899 09:00 0.38
33857 33857 1992-09-10 09/10/1992 00:00 33 857.00
97-08-06 97-08-06 1997-08-06 08/06/1997 00:00 35 648.00
970806 970806 4557-12-21 12/21/4557 00:00 970 806.00
8/6/97 8/6/97 8/6/97 8/6/97 8/6/97 8/6/97

下表显示了当使用脚本中的解释函数 date#( A, 'M/D/YY') 将数据读取到 Qlik Sense 时的不同呈现形式:

使用脚本中的 date#( A, 'M/D/YY') 解释函数时的表
源数据 Qlik Sense 默认解释 'YYYY-MM-DD' 日期格式 'MM/DD/YYYY' 日期格式 'hh:mm' 时间格式 '# ##0.00' 数字格式
0.375 0.375 0.375 0.375 0.375 0.375
33857 33857 33857 33857 33857 33857
97-08-06 97-08-06 97-08-06 97-08-06 97-08-06 97-08-06
970806 970806 970806 970806 970806 970806
8/6/97 8/6/97 1997-08-06 08/06/1997 00:00 35 648.00