日期和时间解释
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 |