数字格式和时间格式的约定

在许多解释和格式化函数中,可以通过使用格式代码设置数字和日期的格式。本主题介绍对数字、日期、时间或时间戳设置格式所使用的惯例。这些惯例同时适用于脚本和图表函数。

数字格式

  • 要表示一个具体数位的数字,可以使用符号 "0" 代表每一个数位。

  • 要表示一个可能数位,可以使用符号 "#"。如果格式只包含小数点左侧的 # 符号,并且数字小于 1,则会将零去掉,并以小数点开始。如果格式包含小数点右侧的# 符号,则会显示所有值。

  • 要标记千位分隔符的位置或小数位分隔符的位置,可以使用适用的千位分隔符和小数位分隔符。

格式代码用于定义分隔符的位置。无法在格式代码中设置分隔符。在脚本中,对于这种情况可以使用 DecimalSepThousandSep 变量。

可以对任何位置的数字使用千位分隔符分组数位。例如,一个格式字符串 "0000-0000-0000"(千位分隔符=“-”)可以用于显示一个十二位部件编号 "0012-4567-8912"

DecimalSep ThousandSep

Examples:  

# ##0

描述带千位分隔符的整数数字。

###0

描述不带千位分隔符的整数数字。

0000 描述至少四位数的整数数字。如数字 123 将显示为 0123。
0.000

描述带三个小数位的数字。

0.0##

描述带三个小数位的数字。有些可能显示为零。

特殊数字格式

QlikView 可以解释及格式化任何基数在 2 和 36 之间的数字,包括二进制、八进制及十六进制。它也可处理罗马格式。

二进制格式

要表示二进制格式,格式代码前面应带 (bin)(BIN)

八进制格式

要表示八进制格式,格式代码前面应带 (oct)(OCT)

十六进制格式

要表示十六进制格式,格式代码前面应带 (hex)(HEX)。如果使用大写版本,格式化将使用 A-F(如 14FA)。非大写版本将导致格式化使用 a-f(如 14fa)。解释对两种变量都可用,忽略代码的大小写。

十进制格式

允许使用 (dec)(DEC) 表示小数格式,但是没有必要。

自定义基数格式

要使用介于 2 和 36 之间的任何基数表示一个格式,格式代码前面应以 (rxx) (Rxx) 为开头,其中 xx 是两位数数字,表示要使用的基数。如果使用大写 R,则大于 10 的基数中的字母在 QlikView 格式化时将变成大写(如 14FA)。非大写的 r 将导致使用非大写字母格式化(如 14fa)。解释对两种变量都可用,忽略代码的大小写。注意,(r02)(bin) 相等,(R16)(HEX) 相等,以此类推。

罗马格式

要表示罗马数字,格式代码前面应带 (rom)(ROM)。如果使用大写版本,格式化将使用大写字(如 MMXVI)。非大写版本将导致格式化使用小写字母(如 mmxvi)。解释对两种变量都可用,忽略代码的大小写。罗马字母负数将产生一个负号,零将产生 0。罗马格式将忽略小数位。

Examples:  

num(199, '(bin)') 返回 11000111
num(199, '(oct)') 返回 307
num(199, '(hex)') 返回 c7
num(199, '(HEX)' ) 返回 C7
num(199, '(r02)' ) 返回 11000111
num(199, '(r16)') 返回 c7
num(199, '(R16)' ) 返回 C7
num(199, '(R36)') 返回 5J
num(199, '(rom)') 返回 cxcix
num(199, '(ROM)' ) 返回 CXCIX

日期

可以使用下列符号格式化日期。可以使用任意分隔符。

D

要描述日期,每一个数位使用符号 "D"

M

要描述月份,使用符号 "M"

  • 使用 "M""MM" 表示一位或两位数字。
  • "MMM" 表示以字母表示的短月份名称,由操作系统定义,或由脚本中覆盖系统变量 MonthNames 定义。
  • "MMMM" 表示以字母表示的长月份名称,由操作系统定义,或由脚本中覆盖系统变量 LongMonthNames 定义。

MonthNames LongMonthNames

Y

要描述年,每一个数位使用符号 "Y"

W

要描述周几,使用符号 "W"

  • "W" 将以一个数位方式返回天的数字(如 0 代表周一)。
  • "WW" 将返回两位数的数字(如 02 表示周三)。
  • "WWW" 将显示周名称的短版本(如 Mon),由操作系统定义,或由脚本中覆盖系统变量 DayNames 定义。
  • "WWWW" 将显示周名称的长版本(如 Monday),由操作系统定义,或由脚本中覆盖系统变量 LongDayNames 定义。

DayNames LongDayNames

Examples: (使用 31st March 2013 作为示例日期)

YY-MM-DD 描述如 13-03-31 的日期。
YYYY-MM-DD 描述如 3/31/13 的日期。
YYYY-MMM-DD 描述如 2013-Mar-31 的日期。
DD MMMM YYYY 描述如 31 March 2013 的日期。
M/D/YY 描述如 3/31/13 的日期。
W YY-MM-DD 描述如 6 13-03-31 的日期。
WWW YY-MM-DD 描述如 Sat 13-03-31 的日期。
WWWW YY-MM-DD 描述如 Saturday 13-03-31 的日期。

时间

可以使用下列符号格式化时间。可以使用任意分隔符。

h

要描述小时,每一个数位使用符号 "h"

m

要描述分钟,每一个数位使用符号 "m"

s

要描述秒,每一个数位使用符号 "s"

f 要描述分秒,每一个数位使用符号 "f"
tt

要以 AM/PM 格式描述时间,在时间后使用符号 "tt"

Examples: (使用 18.30 作为示例时间):

hh:mm 描述如 18:30 的时间
hh.mm.ss.ff 描述如 18.30.00.00 的时间
hh:mm:tt 描述如 06:30:pm 的时间

时间戳

在时间戳中使用的符号与以上在日期和时间中使用的符号相同。

Examples: (使用 31th March 2013 18.30 作为示例时间戳)

YY-MM-DD hh:mm 描述如 13-03-31 18:30 的时间戳
M/D/Y hh.mm.ss.ffff 描述如 3/31/13 18.30.00.0000 的时间戳