日期和时间解释
Qlik Sense 会将数据中发现的每个日期,时间和时间戳存储为日期序列号。日期序列号用于日期、时间和时间戳,并且根据日期和时间实体进行算术运算。因此可增减日期和时间,还可比较时间间隔等。
日期序列号是自 1899 年 12 月 30 日以来的(实值)天数,即 Qlik Sense 格式与 Microsoft Excel 和其他程序使用的 1900 年日期系统(范围为从 1900 年 3 月 1 日至 2100 年 2 月 28 日)完全相同。例如,33857 相当于 1992 年 9 月 10 日。一旦超出此范围,Qlik Sense 会使用相同的日期系统按公历延长。
时间序列号是介于 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
Qlik Sense 将遵循一组规则来尝试解释日期、时间和其他数据类型。但是最终结果受上述众多因素的影响。
示例 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 时的不同呈现形式:
源数据 | 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 |