字符 说明
(:) 时间分隔符。在一些国别,可能用其他符号来当时间分隔符。格式化时间值时,时间分隔符可以分隔时、分、秒。时间分隔符的真正字符在格式输出时取决于系统的设置。
(/) 日期分隔符。在一些国别,可能用其他符号来当日期分隔符。格式化日期数值时,日期分隔符可以分隔年、月、日。日期分隔符的真正字符在格式输出时取决于系统设置。
d 以没有前导零的数字来显示日 (1 – 31)。
dd 以有前导零的数字来显示日 (01 – 31)。
ddd 以简写来表示日 (Sun –Sat)。
dddd 以全称来表示日 (Sunday –Saturday)。
m 以没有前导零的数字来显示月 (1 – 12)。如果 m 是直接跟在 h 或 hh 之后,那么显示的将是分而不是月。
mm 以有前导零的数字来显示月 (01 – 12)。如果m是直接跟在h或hh之后,那么显示的将是分而不是月。
mmm 以简写来表示月 (Jan –Dec)。
mmmm 以全称来表示月 (January –December)。
y 或 yy 以两位数来表示年 (00 – 99)。
yyy或yyyy 以四位数来表示年 (0000 – 9999)。
H 以没有前导零的数字来显示小时 (0 – 23)。
Hh 以有前导零的数字来显示小时 (00– 23)。
M 以没有前导零的数字来显示分 (0 – 59) 需跟在 h 或 hh 之后。
Mm 以有前导零的数字来显示分 (00 – 59) 需跟在 h 或 hh 之后。
S 以没有前导零的数字来显示秒 (0 – 59) 需跟在 h 或 hh 之后。
Ss 以有前导零的数字来显示秒 (00 – 59) 需跟在 h 或 hh 之后。
AM/PM 在中午前以 12 小时配合大写 AM 符号来使用;在中午和 11:59 P.M.间以 12 小时配合大写 PM 来使用。
am/pm 在中午前以 12 小时配合小写 am 符号来使用;在中午和 11:59 P.M.间以 12 小时配合小写 pm 来使用。
A/P 在中午前以 12 小时配合大写A符号来使用;在中午和 11:59 P.M.间以12 小时配合大写P来使用。
a/p 在中午前以 12 小时配合小写a符号来使用;在中午和 11:59 P.M.间以 12 小时配合小写p来使用。
下面表格标识了 一些可用来创建用户自定义数值格式的字符:
(0) 数字占位符。显示一位数字或是零。如果表达式在格式字符串中 0 的位置上有一位数字存在,那么就显示出来;否则,就以零显示。如果数值的位数少于格式表达式中零的位数(无论是小数点的左方或右方),那么就把前面或后面的零补足。
如果数值的小数点右方位数多于格式表达式中小数点右面零的位数,那么就四舍五入到有零的位数的最后一位。如果数值的小数点左方位数多于格式表达式中小数点左面零的位数,那么多出的部分都要不加修饰地显示出来。
(#) 数字占位符。显示一位数字或什么都不显示。如果表达式在格式字符串中“#”的位置上有数字存在,那么就显示出来;否则,该位置就什么都不显示。
此符号的工作原理和“0”数字占位符大致相同,不同之处只有在当表达式中数值的位数少于“#”的位数(无论是小数点左方或右方)时,不会把前面或后面的零显示出来。
(.) 小数点占位符。在一些国别是用逗号来当小数点的。小数点占位符用来决定在小数点左右可显示多少位数。如果格式表达式在此符号左边只有正负号,那么小于 1 的数字将以小数点为开头。如想在小数前有“0”的话,那么请在小数点占位符前加上“0”这个数字占位符。小数点占位符的实际字符在格式输出时要看系统的数字格式而定。
(%) 百分比符号占位符。表达式乘以 100。而百分比字符 (%) 会插入到格式字符串中出现的位置上。
(,) 千分位符号占位符。在一些国别,是用句点来当千位符号。千位符号主要是把数值小数点左边超过四位数以上分出千位。如果格式中在数字占位符(0 或 #)周围包含有千分位符号,则指定的是标准的千分位符号使用法。两个邻近的千分位符号或一个千分位符号紧接在小数点左边(不管小数位是否指定),其意思为“将数值除以 1000,按需要四舍五入”。
例如,可以用格式字符串 “##0,,” 将 1 亿表示成 100。数值小于 1 百万的话表示成“0”,两个邻近的千分位符号除了紧接在小数点左边以外,在任何位置出现时均简单地视为指定了使用千分位符号。小数点占位符的真正字符在格式输出时,需视系统识别的数字格式而定。
(E- E+ e- e+) 科学格式。如果格式表达式在 E-、E+、e- 或 e+ 的右方含有至少一个数字占位符(0 或 #),那么数值将表示成科学格式,而 E 或 e 会被安置在数字和指数之间。
E 或 e 右方数字占位符的个数取决于指数位数。使用 E- 或 e- 时,会用减号来表示负的乘幂。使用 E+ 或 e+ 时,会用减号来表示负的乘幂并用加号来表示正的乘幂。
– + $ ( ) 显示一个原义字符。如想显示那些列出的字符之外的字符时,可以用反斜杠 ( / ) 字符作前缀或以双引号 (” “) 括起来。
(/) 将格式字符串中下一个字符显示出来。如想显示一作为原义字符并有特殊含义的字符,可将此字符置于反斜杠 (/) 之后。反斜杠本身并不会显示出来。而使用反斜杠 (/) 的效果和使用双引号是一样的。如想显示反斜杠字符,可使用两个反斜杠 (//)。
那些不能显示为原义字符的字符是日期格式字符和时间格式字符(a, d, h, m, s, y, / 和 :)、数值格式字符(#, 0, %, E, e, 逗点和句点)和字符串格式字符(@, &,和 !)。
可以用下面任意字符来创建格式表达式用于字符串:
@ 字符占位符。显示字符或是空白。如果字符串在格式字符串中 @的位置有字符存在,那么就显示出来;否则,就在那个位置上显示空白。除非有惊叹号字符 (!) 在格式字符串中,否则字符占位符将由右而左被填充。
& 字符占位符。显示字符或什么都不显示。如果字符串在格式字符串中和号 (&) 的位置有字符存在,那么就显示出来;否则,就什么都不显示。除非有惊叹号字符 (!) 在格式字符串中,否则字符占位符将由右而左被填充。
! 强制由左而右填充字符占位符。缺省值是由右而左填充字符占位符。
用户自定义日期 /时间格式示例
下面表格是以用户自定义日期/时间格式来显示 December 7, 1998 的示例:
格式 显示结果
m/d/yy 12/7/98
d-mmm 7-Dec
d-mmmm-yy 7-Dec-98
d mmmm 7-Dec
mmmm yy Dec-98
hh:mm AM/PM 8:50 PM
h:mm:ss a/p 8:50:35 PM
h:mm 20:50
h:mm:ss 20:50:35
m/d/yy h:mm 12/7/98 20:50
下面的表格包含一些数值格式表达式的示例。(这些示例皆假设系统之国别设置为 English-U.S.)第一列包含格式字符串,其他列则为输出结果,假设格式化数据有列表头中给定的值。
Text(格式) 正 5 负 5 0.5
0 5 -5 1
0.00 5.00 -5.00 0.50
#,##0 5 -5 1
#,##0.00;Nil 5.00 Nil 0.50
$#,##0;($#,##0) $5 ($5) $1
$#,##0.00;($#,##0.00) $5.00 ($5.00) $0.50
0% 500.00% -500.00% 50.00%
0.00% 500.00% -500.00% 50.00%
0.00E+00 5.00E+00 -5.00E+00 5.00E-01