日期和时间解释

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

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

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

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

另请: 数字解释变量

另请: 格式函数

示例 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

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

示例 2:  

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

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

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

源数据 QlikView默认解释 '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')将数据读取到 QlikView 时的不同呈现形式:

源数据 QlikView默认解释 '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